我知道我可以使用另一个对象的属性作为声明对象属性的键,如下所示:
var object1 = {
myAttr: 'myName'
};
var object2 = {};
var object2[object1.myAttr] = 'myValue';
然后我们有object2.myName == 'myValue'
。
我如何直接在对象的声明中这样做?这样的事情:
var object1 = {
myAttr: 'myName'
};
var object2 = {
object1.myattr: 'myValue'
};
但这确实有效。
答案 0 :(得分:2)
您可以稍微更改一下代码并执行此操作:
var object1 = {
myAttr: 'myName'
};
var object2 = new function(){
this[object1.myAttr] = 'myValue'
}();
你可以进化它并将object1作为属性传递给object2函数,事情继续......
答案 1 :(得分:-1)
你可以使用javascript的eval功能
var object1 = { myAttr: 'myName' };
eval("var object2 = { "+object1.myAttr+": 'myValue' }");
console.log(object2.myName);