「クラス」が複数回インスタンス化されると、パフォーマンスが向上するはずなので、プロトタイプ関数を使用しています。また、すべての変数が外部からアクセスできるようにする必要があるわけではないため、それらは "クラス" 経由で内部で定義されているvar
ため、クロージャー スペースの外部ではアクセスできません。
ここで、「プライベート」変数を定義し、それに対して set および get 関数を定義します。
例:
function Test() {
var hello = "org";
this._get = function (value) {
hello = value;
}
this._set = function (value) {
return hello;
}
}
var test = new Test();
console.log(test._get());
test._set("new");
console.log(test._get());
フィドラー: http://jsfiddle.net/LdwuS/
今、プロトタイプで同じことをしたいのですが、get 関数は常に未定義を返します!
例:
function Test() {
var hello = "org";
}
Test.prototype.set = function (value) {
return hello;
}
Test.prototype.get = function (value) {
hello = value;
}
var test = new Test();
console.log(test.get());
test.set("new");
フィドラー: http://jsfiddle.net/rK22m/
私は何か間違ったことをしていますか、それとも不可能ですか? console.log(test.get());