2016-12-05 4 views
0

以下の例のように、this.aの値をbの配列に渡すにはどうすればよいですか?プロトタイプ内部配列のプロトタイプ変数の取得方法

function Foo(){ 

}; 
Foo.prototype={ 
    bar:function(){ 
    this.a=1; 
    }, 
    b:[this.a] 
} 
+1

コードサンプルが意味論的に機能しない - 不要な余分なカンマがあります。これはコピーの貼り付けエラーですか? – doppelgreener

+0

@doppelgreenerですが、それはOPの質問ではありません。 'エラーはどこですか' – Mahi

+0

あなたは何をしたいですか?どのようにbを使いたいですか? –

答えて

0

あなたの目標は、あなたがObject.definePropertyを使用することができ、値[foo.a]として持っているfoo.b表現を持つことがある場合:

function Foo(){ 
 
}; 
 
Foo.prototype={ 
 
    bar:function(){ 
 
     this.a=1; 
 
    } 
 
} 
 
Object.defineProperty(Foo.prototype, 'b', { 
 
    get: function(){ return [this.a]; } 
 
}); 
 

 
var foo = new Foo(); 
 
console.log("before bar():", foo.b); 
 
foo.bar(); 
 
console.log("after bar():", foo.b);

しかし、なぜちょうど関数としてbを定義していませんそれに普通にアクセスしますか?

+0

実際に私はOPが望んでいることを理解していません。私はこの答えを削除するかもしれません... –

+0

OPは、aが1に等しい 'this.a'にbのプロパティを設定したかったのです。 – Mahi

+0

私たちは通常' this.property'を使用してメソッド 'thisを使用します。プロパティのプロパティ。 – Mahi

関連する問題