0

デカールが適用されている現在のオブジェクトのプロパティを使用して、オブジェクト プロパティに値を割り当てることはできますか?

var myObject = new Object({ 
    a: 1, 
    b: 2, 
    c: this.a + this.b // is this possible ? ( or even myObject.a + myObject.c)
});

以下のように宣言できることはわかっていますが、上記のように宣言することは可能ですか?

myObject.c = myObject.a + myObject + b;
4

1 に答える 1

1

単純なコンソール ログで、コードが機能する理由が示されているはずですが、NaN. コードを以下のサンプルに変更して実行した後:

var myObject = new Object({
     a: 1,
     b: 2,
     c: console.log(this.a + this.b)
});
myObject.c;

結果は次のとおりでした:NaNなぜですか?あなたが作成したとき、明らかにプロパティを持たないオブジェクトmyObject thisにバインドされました.おそらくこれはあなたのために働くでしょう:documentab

var myObject = new Object({
     a: 1,
     b: 2,
     c: function () {
         return this.a + this.b;
     }
});
myObject.c();

javascript オブジェクト リテラル内の詳細については、 stackoverflow.com /questions/ 133973/ の質問をご覧ください。this

于 2013-05-22T13:15:14.317 に答える