我在Stackoverflow上看到類似於我的問題,但大多數人只是簡單地提供了各種各樣的解決方法,我不在尋找。JSON引用之前的屬性
我想在我的JSON的屬性,以便能夠參考的一屬性在同一個對象:
var x = {
a : 1,
b : a + 1
};
我試過b : this.a + 1
,但不起作用。
爲什麼我不能用「a」來定義「b」?再次,我不在尋找解決方法,只是瞭解和理解。
謝謝
我在Stackoverflow上看到類似於我的問題,但大多數人只是簡單地提供了各種各樣的解決方法,我不在尋找。JSON引用之前的屬性
我想在我的JSON的屬性,以便能夠參考的一屬性在同一個對象:
var x = {
a : 1,
b : a + 1
};
我試過b : this.a + 1
,但不起作用。
爲什麼我不能用「a」來定義「b」?再次,我不在尋找解決方法,只是瞭解和理解。
謝謝
你不能那樣做。當你創建一個對象時,它和它的屬性在語句完成之後纔會存在。您不能在創建時引用該對象或其屬性。
你可以這樣說:
var x = {a: 1};
x.b = x.a + 1;
附:這是而不是 JSON。這是一個JavaScript對象。 JSON是數據的字符串表示,它恰好與JavaScript語法非常相似。 var x = {a: 1}
是一個對象,'{"a": 1}'
(字符串)是JSON。
this
是全局對象,所以在您的示例中,它沒有a
屬性。
你可以看到一個簡單的例子在你的瀏覽器控制檯
var object = { test: this };
console.log(object);
你會認爲本身是object
的Window
對象。