【发布时间】:2012-12-31 15:52:10
【问题描述】:
假设我有这个匿名函数:
(function(window){
var private = 'private msg';
function sayit() {
alert(private) // works
}
document.body.onclick = sayit; // works
})(window);
// private shouldn't be accessible here
这是 JavaScript 的行为方式吗?
也就是说,没有办法从该匿名函数之外的任何地方访问private?
如果是这样,是否有可能找到某种黑客从外部访问private,让代码保持原样?
【问题讨论】:
-
不改代码就不行。
-
私有变量是私有的……为什么要从外部访问私有变量?
-
@rexcfnghk - 没那么多。这是“那只是因为它是这样工作的”的那些时刻之一
-
为什么你需要这样做?只是为了好玩?
-
@Damask - 人们可能想知道是否可以做某事,以防止错误地假设它无法完成。
标签: javascript scope anonymous-function