(function () {
var x = 1;
return {
f: function (x) {
alert(x);
}
};
}()).f(2);
假设我不想重命名任何一个变量。无法从 f
中访问首先声明的变量 x
- 对吧?
最佳答案
正确。因为您在 function (x)
中有一个不同的 x
,所以任何访问 x
的尝试都会得到那个(最近的范围)。它在更广泛的范围内阻止对任何 x
的访问。
关于javascript - 在外部范围访问变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4563068/