var obj = {
value: 10,
value2: value + 2
};
我该怎么办? (假设它甚至可能)
我使用了很多jQuery的$.extend
来添加更多依赖于之前添加的值的属性;所以修改一些值会自动纠正其余的值。
答案 0 :(得分:4)
你不能在声明中做到这一点,但你总是可以做一个功能。以下内容始终返回的值大于存储在值中的值2:
var obj = {
value: 10,
getValue2: function(){ return this.value + 2; }
};
如果您不希望value2的值与值一起更改,您可以声明占位符变量并使用该声明声明对象:
var placeholder = 10;
var obj = {
value: placeholder,
value2: placeholder + 2
};
答案 1 :(得分:1)
如果您在申报时可以这样做,我不是100%肯定。但是,您可以在之后执行此操作:
使用extend:
var obj = {
value: 10
};
$.extend(obj, {
value2: obj.value + 2
});
只是javascript:
var obj = {
value: 10
};
obj.value2 = obj.value + 2;