我想了解为什么当我的函数返回一个对象时,变量索引正在更新(增加和减少)。JSON和范围。使用闭包
var init = (function() {
var index = 0;
return function() {
return {
subtract: index -= 1,
add: index = index + 1,
getIndex: index
}
}
})();
console.log(init().getIndex); // 1
console.log(init().add); // 2
console.log(init().getIndex); //2
而是返回0。这是因为当返回对象时,返回对象中的所有属性都被执行。所以我的问题是我如何防止发生。
我想返回2号。当我执行这三行console.log(...) – noOne 2014-10-17 07:11:31
'subtract','add'和'getIndex'应该是函数。如果您想了解它的工作原理,请阅读“关闭”。 – elclanrs 2014-10-17 07:13:45
我明白了。谢谢! – noOne 2014-10-17 07:21:15