【发布时间】:2011-10-27 12:41:26
【问题描述】:
有没有办法在构造后自动在赋值中创建子对象,即
var obj = {};
obj.a.b.c=13;
上面给了我一个“obj.a is undefined”的错误
我为此编写了一个函数,但想知道是否有更简单的方法
_setObjectProperty(obj,13,['a','b','c']);
function _setObjectProperty(obj,value,loc)
{
if(loc.length>1) {
obj[loc[0]] = obj[loc[0]] || {};
_setObjectProperty(obj[loc[0]],value,loc.splice(1));
}
else if(loc.length===1) {
obj[loc[0]]=value;
}
}
【问题讨论】:
标签: javascript object properties