【发布时间】:2019-02-09 14:36:02
【问题描述】:
谁能解释一下这个闭包 JS 计数器的不同输出。
第一个 sn-p 输出从 0 开始的地方:
var counter = (function() {
var count = 0;
return function() {
return count++;
}
}());
console.log(counter()); // output: 0
console.log(counter()); // output: 1
console.log(counter()); // output: 2
第二个 sn-p 输出从 1 开始的地方:
var add = (function() {
var counter = 0;
return function() {
counter++;
return counter;
}
})();
console.log(add()); // output: 1;
console.log(add()); // output: 2;
console.log(add()); // output: 3;
为什么会这样?为什么第一个输出从 0 开始,第二个输出从 1 开始?谢谢。
【问题讨论】:
标签: javascript closures output counter difference