有没有办法在JavaScript中使用以下内容?
var foo = {
a: 5,
b: 6,
c: this.a + this.b // Doesn't work
};
Run Code Online (Sandbox Code Playgroud)
在当前形式中,此代码显然会抛出引用错误,因为this没有引用foo.但是,是有什么办法对早些时候宣布的其他属性在对象文本的属性值依赖?
可能的重复:
对象文字声明中的自引用
var obj = {
value: 10,
value2: value + 2
};
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到以上呢?(假设这是可能的)
我使用大量 jQuery$.extend来添加更多依赖于之前添加的值的属性;这样修改一些值就会自动纠正其余的值。
说我有一个像这样的对象:
var time = {
'second': 1000,
'minute': 1000 * 60,
'hour' : 1000 * 60 * 60,
'day' : 1000 * 60 * 60 * 24,
'week' : 1000 * 60 * 60 * 24 * 7
};
Run Code Online (Sandbox Code Playgroud)
我如何缩短它以便引用其他键?
我的意思是这样的:
var time = {
'second': 1000,
'minute': this.second * 60,
'hour' : this.minute * 60,
'day' : this.hour * 24,
'week' : this.day * 7
}
Run Code Online (Sandbox Code Playgroud)
我无法引用每个使用time.foo因为变量尚未初始化.我可以简单地在一个新命令上添加每个命令,例如time['hour'] = time.minute * 60;,但我宁愿在一个命令中执行它.