test
Tool のスコープ内でアクセスしようとしていますか、それともそれによって返されたオブジェクトにアクセスしようとしていますか? これらは 2 つの異なる変数です。私はそれらにAとBのラベルを付けました:
var tool = new Tool();
function Tool(){
var testA; // Private
this.init = function(){
testA = 1;
this.testB = 9; // Public
}
this.getTestA = function(){ // Public method to access the private testA
return testA;
}
}
tool.init();
console.log( tool.getTestA() ); // 1
console.log( tool.testB ); // 9
testA
プライベート変数として知られ、ツールのメソッドを介してのみアクセスできますtestB
が、パブリックです。
これはあなたが探しているものをカバーしていますか?
ところで、Tool のインスタンスを多数作成している場合は、代わりに Tool のプロトタイプを使用して関数を定義することを忘れないでください。これにより、次のように、コードのメモリ効率が向上します。
function Tool(){
var testA;
}
Tool.prototype.init = function(){
testA = 1;
this.testB = 9;
}
Tool.prototype.getTestA = function(){ return testA; }