Kin*_*rog 0 javascript closures
我可以这样调用这个闭包:
var increment = (function () {
var test = 0;
return function () {
test++;
console.log(test);
}
})();
increment(); //1
increment(); //2
Run Code Online (Sandbox Code Playgroud)
但是,如何使用常规函数语法调用它?
function increment() {
var test = 0;
return function () {
test++;
console.log(test);
}
}
increment()(); 1
increment()(); 1
Run Code Online (Sandbox Code Playgroud)
无论何时打电话给increment()你创建一个"新计数器",所以第二个例子不一样,你创建了两个不同的实例.
您必须先创建一个实例,然后使用它:
var inc = increment();
inc(); // 1
inc(); // 2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
189 次 |
| 最近记录: |