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