将自定义变量添加到对象

时间:2013-05-14 13:24:23

标签: javascript

假设我有一个对象obj,其中包含一些变量。我想要做的是添加一个新变量,它具有我给出的名称作为参数。 例如:

var obj=
{
  number:8
}

function AddField(field_name,obj)
{
  //some magical code here
}

如果我打电话

AddField('name',obj);

我希望能够做到

obj.name='Apple'

调用此函数后。

有什么想法吗?

3 个答案:

答案 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 = nullobj["field_name"] = null。 即使语言允许,我也不会为undefined设置任何值,只是出于语义问题:undefined表示“此属性/变量尚未定义”,null表示“这个属性/变量没有价值”。