这是否有更好的标题?声明一个对象的键被赋值其他键的值?
好吧,是这样的法律?
var myobj = {
key1: "val1",
key2: this.key1
};
我还没有尝试过,但我在寻找一种方法来有单独的密钥相同的值中的对象,优选以简洁的方式。
这是否有更好的标题?声明一个对象的键被赋值其他键的值?
好吧,是这样的法律?
var myobj = {
key1: "val1",
key2: this.key1
};
我还没有尝试过,但我在寻找一种方法来有单独的密钥相同的值中的对象,优选以简洁的方式。
您的代码是合法的,但并不代表您的意思。在评估key:...
部分时,this
未绑定到尚不存在的对象,而是绑定到正在构建myobj的上下文中。你必须存储在一个变量的值,然后使用变量...这样的:
var kv = "val1";
var myobj = {
key1: kv,
key2: kv
};
注意,在这里你没有创建一个关闭如果这是你的恐惧。这仅发生于function
表达
尝试:
var myobj = {};
myobj['key2'] = (myobj['key1'] = 'val1');
由于在JavaScript中,赋值也返回值一样,所以你可能有点简洁。
+1我也喜欢。 – JustcallmeDrago 2011-01-11 22:53:35