在声明期间访问对象内以前的值

Bri*_*ham 5 javascript jquery accessibility object self

可能的重复:
对象文字声明中的自引用

var obj = {
    value: 10,
    value2: value + 2
};
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到以上呢?(假设这是可能的)

我使用大量 jQuery$.extend来添加更多依赖于之前添加的值的属性;这样修改一些值就会自动纠正其余的值。

Jus*_*ner 4

你不能在声明中做到这一点,但你总是可以创建一个函数。以下命令将始终返回比 value 中存储的值大 2 的值:

var obj = {
    value: 10,
    getValue2: function(){ return this.value + 2; }
};
Run Code Online (Sandbox Code Playgroud)

如果您不希望 value2 的值随 value 一起更改,您可以声明一个占位符变量并使用该变量声明对象:

var placeholder = 10;

var obj = {
    value: placeholder,
    value2: placeholder + 2
};
Run Code Online (Sandbox Code Playgroud)