【发布时间】:2025-12-10 11:25:02
【问题描述】:
我需要从匿名函数访问私有变量。此匿名函数由以下设置:
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;}; 创建 getter 和 setter,但这不起作用。
【问题讨论】:
-
对
coolObject构造函数没有任何更改 - 没有 -
这样的变量被称为“私有”是有原因的。顺便说一句,函数是匿名的这一事实在这里无关紧要。
-
不设为私有?似乎是私有变量的要点在那里按预期工作。
标签: javascript variables private anonymous-function