var Test = (function(){
var global = 123;
return function(value){
var local = value;
this.add = function(){
console.log(global += local);
}
}
})();
new Test(2).add();//125
new Test(2).add();//127
new Test(2).add();//129
该匿名函数返回了一个冠名为"Test"的方法。关键点是匿名函数内有一个"global"变量,该变量并不会随着匿名函数的执行完毕而消失。而且该变量无法通过外部代码访问,只能通过匿名函数提供的接口"Test"来使用。