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"来使用。
本文探讨了一个匿名函数如何创建一个持久化的全局变量`global`,并通过返回的方法`Test`提供对其访问。这个闭包示例展示了在JavaScript中如何维持变量的状态,即使在函数执行完毕后。每次调用`new Test(2).add()`时,`global`变量的值都会增加,体现了闭包对局部变量的保留效果。
1064

被折叠的 条评论
为什么被折叠?



