从全局上下文中访问局部变量?

时间:2017-12-19 10:44:45

标签: javascript closures

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

在此示例中,如何从 global <访问 localVariable ,这是 wrapValue() 功能的本地功能< / em>环境?
这本书中包含的这本书说明了原因如下: “变量的多个实例可以同时存活”。
但我不明白。

1 个答案:

答案 0 :(得分:0)

您的函数在调用时设置一个私有值(localVariable)并立即返回它,这样您就可以将其分配给另一个变量,而无需更改私有var inside函数。