我需要从匿名函数中访问私有变量。该匿名函数由以下设置:JavaScript从匿名函数中读取私有变量
coolObject = new (function(){
this.public = "public";
var private = "secrets";
// General functions here, no getter or setter for private
})();
我可以很容易地阅读和做console.log(coolObject.public)
或coolObject.public = "newValue"
写coolObject.public
,但我怎么可以做同样的私有变量?另一件事是我不能将代码添加到构造函数中,coolObject
将始终像这样初始定义。
因此,总结一下,有没有一种方法可以从JavaScript中的匿名函数访问私有变量,如果是这样,怎么办?
编辑:我已经尝试通过做coolObject.getPrivate = function(){return private;};
创建getters和setters,但那不起作用。
没有对'coolObject'构造函数进行任何更改 - 否 – dotnetom
由于某种原因,此类变量被称为“private”。顺便说一句,这个函数是匿名的这个事实在这里是无关紧要的。 – nnnnnn
是不是私人?似乎是一个私人变量的目标是在那里按预期工作。 – Spaceman