假设我有以下课程:
function MyClass(){
this.public = function(){
console.log(private);
};
var private = 10;
}
var test = new MyClass;
test.public(); // logs 10
test.private; // undefined
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以从外部访问私有变量。查看 chrome 的控制台似乎是可能的,因为它显示了它的上下文:
编辑:只是为了澄清:我知道如何正确公开它。只是想确定是否没有一些hacky方式来访问它。
您的private变量是该函数作用域的局部变量,并且在 Javascript 中,无法从作用域外访问作用域内的变量。您只能从范围内访问它。没有办法从 Javascript 代码本身解决这个问题。
调试器可以做的事情(可以访问 VM 内部)与常规 Javascript 代码可以做的事情不同。 调试器可以查看范围内,但范围外的 JS 代码不能。
显然你可以为它制作一个存取器,但是没有存取器,就没有办法从外面得到它。
| 归档时间: |
|
| 查看次数: |
2690 次 |
| 最近记录: |