假设我有一个对象obj,其中包含一些变量。我想要做的是添加一个新变量,它具有我给出的名称作为参数。 例如:
var obj=
{
number:8
}
function AddField(field_name,obj)
{
//some magical code here
}
如果我打电话
AddField('name',obj);
我希望能够做到
obj.name='Apple'
调用此函数后。
有什么想法吗?
答案 0 :(得分:5)
使用方括号表示法:
obj[field_name] = value;
参考: http://www.jibbering.com/faq/faq_notes/square_brackets.html#vId
答案 1 :(得分:0)
使用括号表示法:
obj[field_name] = void 0;
这将创建一个具有未定义值的新属性。
答案 2 :(得分:0)
如果已定义obj,则可以obj.field_name = null
或obj["field_name"] = null
。
即使语言允许,我也不会为undefined
设置任何值,只是出于语义问题:undefined
表示“此属性/变量尚未定义”,null
表示“这个属性/变量没有价值”。