一尘不染

如何从JavaScript中的变量值创建对象属性?

javascript

我想向“ myObj”添加一个新属性,将其命名为“ string1”,并为其赋予一个值“ string2”,但是当我这样做时,它返回“
undefined”:

var myObj = new Object;
var a = 'string1';
var b = 'string2';
myObj.a = b;

alert(myObj.string1); //Returns 'undefined'
alert(myObj.a); //Returns 'string2'

换句话说:如何创建对象属性,并为其赋予存储在变量中的名称,而不是变量本身的名称?


阅读 515

收藏
2020-04-25

共2个答案

一尘不染

还有点符号和括号标记

myObj[a] = b;
2020-04-25
一尘不染

ES6引入了计算属性名称,你可以使用它来执行

var myObj = {[a]: b};

注意浏览器支持目前可以忽略不计。

2020-04-25