84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
有什麼方法可以讓像下面這樣的東西在 JavaScript 中運作嗎?
var foo = { a: 5, b: 6, c: this.a this.b // Doesn't work };
在目前形式中,此程式碼顯然會引發引用錯誤,因為 this 並未引用 foo。但是有有什麼方法可以讓物件字面量屬性中的值依賴先前聲明的其他屬性嗎?
this
foo
你可以這樣做:
var foo = { a: 5, b: 6, init: function() { this.c = this.a + this.b; return this; } }.init();
這將是物件的某種一次性初始化。
請注意,您實際上是將init()的傳回值指派給foo,因此您必須傳回該值。
init()
傳回該值
好吧,我唯一能告訴你的是
var foo = { a: 5, b: 6, get c() { return this.a + this.b; } } console.log(foo.c) // 11
你可以這樣做:
這將是物件的某種一次性初始化。
請注意,您實際上是將
init()
的傳回值指派給foo
,因此您必須傳回該值
。好吧,我唯一能告訴你的是