我需要從匿名函數中訪問私有變量。該匿名函數由以下設置: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