如何动态设置Javascript对象值?

2022-08-30 05:06:04

很难用言语来解释这种情况,让我举个例子:

var myObj = {
    'name': 'Umut',
    'age' : 34
};

var prop = 'name';
var value = 'Onur';

myObj[name] = value; // This does not work

eval('myObj.' + name) = value;   //Bad coding ;)

如何在 JavaScript 对象中设置具有变量值的变量属性?


答案 1
myObj[prop] = value;

这应该有效。混淆了变量的名称及其值。但是,使用字符串索引对象以获取其属性在 JavaScript 中工作正常。


答案 2
myObj.name=value

myObj['name']=value     (Quotes are required)

这两者是可以互换的。

编辑:我猜你的意思是,而不是myObj[name] = value。第二种语法工作正常:http://jsfiddle.net/waitinforatrain/dNjvb/1/myObj[prop] = value