这个问题在这里已有答案:
function wrapValue(n) {
var localVariable = n;
return function() { return localVariable; };
}
var wrap1 = wrapValue(1);
var wrap2 = wrapValue(2);
console.log(wrap1());
// → 1
console.log(wrap2());
// → 2
在这个例子中,如何从全局环境中访问localVariable
函数本地的wrapValue()
?
本书中包含的这本书说明了原因如下:“变量的多个实例可以同时存在”。
但我不明白。
您的函数在调用时设置一个私有值(localVariable)并立即返回它,以便您可以将其分配给另一个变量而无需更改private var inside函数。