匿名関数からプライベート変数にアクセスする必要があります。この匿名関数は次によって設定されます。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;};
を実行してゲッターとセッターを作成しようとしましたが、それは機能しません。
'coolObject'コンストラクタに何も変更しない - いいえ – dotnetom
このような変数は、理由により「プライベート」と呼ばれます。ところで、関数が匿名であるという事実はここでは無関係です。 – nnnnnn
プライベートにしないでください。プライベート変数のポイントと思われるが、そこに意図されたように働いています。 – Spaceman