对此有更好的称号吗?
好的,这是合法的吗?
var myobj = {
key1: "val1",
key2: this.key1
};
我还没有尝试过,但是我正在寻找一种方法来为对象中的单独键提供相同的值,最好是以简洁的方式。
答案 0 :(得分:2)
您的代码是合法的但不符合您的意思。评估时key:...
部分this
未绑定到尚未存在的对象,而是绑定到构建myobj的上下文。您必须将值存储在变量中,然后使用变量... like:
var kv = "val1";
var myobj = {
key1: kv,
key2: kv
};
请注意,如果这是您的恐惧,那么您不会创建闭包。这仅适用于function
表达式
答案 1 :(得分:1)
尝试:
var myobj = {};
myobj['key2'] = (myobj['key1'] = 'val1');
因为在javascript中,值赋值也会返回值,所以你可以有点简洁。