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