【发布时间】:2011-06-01 13:47:35
【问题描述】:
(function () {
var x = 1;
return {
f: function (x) {
alert(x);
}
};
}()).f(2);
假设我不想重命名任何一个变量。没有办法从f 中访问变量x,它首先被声明——对吧?
【问题讨论】:
-
你可以用方法暴露变量
-
为什么不想重命名变量?
-
参数
x遮蔽变量x。就像在许多其他编程语言中一样(有时可以解决,但在这个例子中,没有)。
标签: javascript closures scope