我想向“ 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'
换句话说:如何创建对象属性,并为其赋予存储在变量中的名称,而不是变量本身的名称?
还有点符号和括号标记
myObj[a] = b;
ES6引入了计算属性名称,你可以使用它来执行
var myObj = {[a]: b};
注意浏览器支持目前可以忽略不计。