【发布时间】:2015-02-16 18:29:43
【问题描述】:
看起来由于某种原因我的代码无法跟踪我正在递增的局部变量,并且它总是返回其初始值 0。
这是我在http://jsfiddle.net/ou2uxwn5/20/附近玩过的JSFiddle
var counter = function(){
var i = 0;
console.log(i);
return function(){
i++;
return i;
};
};
不确定垃圾收集器是否会吃掉它,尽管行为与定义的 var 调用相同(我希望这会创建引用而不是将局部变量 i 扔到垃圾箱中)。
代码有什么问题,为什么?
【问题讨论】:
标签: javascript closures