JSON引用以前的属性

时间:2013-07-24 14:49:46

标签: javascript json

我在Stackoverflow上看到了类似于我的问题,但是大多数人只提供了各种各样的工作,我不是在寻找。

我希望我的JSON中的属性能够引用同一对象中的前一个属性:

var x = {
   a : 1,
   b : a + 1
};

我已尝试b : this.a + 1,但这不起作用。

为什么我不能用“a”来定义“b”?同样,我不是在寻找变通方法,只是洞察和理解。

由于

2 个答案:

答案 0 :(得分:3)

你做不到。创建对象时,它和它的属性在语句完成之后才会存在。您无法在创建时引用对象或其属性。

你可以这样做:

var x = {a: 1};
x.b = x.a + 1;

P.S。那是不是 JSON。这是一个JavaScript对象。 JSON是数据的字符串表示,恰好与JavaScript语法非常相似。 var x = {a: 1}是一个对象,'{"a": 1}'(一个字符串)是JSON。

答案 1 :(得分:0)

this是全局对象,因此在您的示例中,它没有a属性。

您可以在浏览器控制台中看到一个简单示例

var object = { test: this };
console.log(object);

您会认为objectWindow对象。