假设我有这个匿名函数:
(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
?
如果是这样,是否有可能找到某种 hack 从外部访问 private
,让代码保持原样?
最佳答案
是的,这就是 Javascript 让您拥有“私有(private)”变量(隐藏在函数作用域中)的方式。
不,没有任何黑客可以在不重写代码的情况下访问诸如 private
之类的变量。
函数中用 var
定义的变量只能从该函数中访问。
关于JavaScript:从外部访问匿名函数内部的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14373475/