2013-05-22 32 views
0

是否可以使用當前被剝落對象的屬性爲對象屬性賦值?使用屬性自我的javascript對象屬性

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; 
+0

你爲什麼不試試? – VisioN

+0

http://jsfiddle.net/ - >嘗試 - >看看會發生什麼。 –

+1

@VisioN - 據推測,他有,而且它沒有工作,所以他問是否有其他語法可行。 – Quentin

回答

1

一個簡單的控制檯日誌應該表現出你,爲什麼你的代碼工作,但給人一種NaN。下面修改代碼的樣本,它運行後:

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

結果是:NaN爲什麼?當你創建myObjectthis被綁定到document對象,這顯然不具有的屬性ab。也許這會爲你工作:

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

看看這個問題:stackoverflow.com/questions/133973/到JavaScript中更多地瞭解this object literal