Javascript:变量的对象属性声明

时间:2014-06-03 12:43:44

标签: javascript

我知道我可以使用另一个对象的属性作为声明对象属性的键,如下所示:

var object1 = {
    myAttr: 'myName'
};
var object2 = {};
var object2[object1.myAttr] = 'myValue';

然后我们有object2.myName == 'myValue'

我如何直接在对象的声明中这样做?这样的事情:

var object1 = {
    myAttr: 'myName'
};
var object2 = {
    object1.myattr: 'myValue'
};

但这确实有效。

2 个答案:

答案 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);