var uniqueInterger = (function(){
var counter = 0;
return function(){
return counter++;
};
}());
console.log(uniqueInterger());
这里返回值是0,为什么不是1呢?
var uniqueInterger = (function(){
var counter = 0;
return function(){
return counter++;
};
}());
console.log(uniqueInterger());
这里返回值是0,为什么不是1呢?
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
你得理解
++
的位置含义return counter++;
++
放后面表示,前面变量该干嘛先干嘛,干完之后,我再给他加1.所以你第一次执行是,变量值是0,直接return走了,然后变量+1.
你如果再次调用方法 ,就给你1了。此时counter值+1,就是2了。