我在 Stackoverflow 上看到了一个与我类似的问题,但大多数人只是提供了各种变通方法,而我并不是在寻找这些问题。
我希望我的 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。
关于javascript - JSON 引用以前的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17837499/