我想知道为什么这段代码不起作用,
var uniqueInteger = function() {
var counter = 0;
return function() { return counter++; }
};
console.log(uniqueInteger()()); // 0
console.log(uniqueInteger()()); // 0
console.log(uniqueInteger()()); // 0
console.log(uniqueInteger()()); // 0
这段代码可以。唯一的区别是使函数自调用而不是在 console.log() 中调用它
var uniqueInteger = (function() {
var counter = 0;
return function() { return counter++; }
}());
console.log(uniqueInteger()); // 0
console.log(uniqueInteger()); // 1
console.log(uniqueInteger()); // 2
console.log(uniqueInteger()); // 3
我对JS很陌生,所以请原谅我的菜鸟。谢谢!