js自动生成对象的属性示例代码 |
本文标签:自动生成,对象属性 例如 我们有如下这么一个对象 复制代码 代码如下: var obj = { a:{ b:"bb" } } 但是我们现在想给 obj 对象增加如下属性 obj.a.b.c.d.f="ff" ; 我们一般会如下做,obj.a.b.c={},obj.a.b.c.d={} ,obj.a.b.c.d.f="ff" ;但是如果我的属性很多,这样的方法时不可行的 。现在提供一个自动生成对象属性的方法 复制代码 代码如下: function autoCreateObjProperty(temString){ var TemObjs = temString.split("."); for(var i =0;i<TemObjs.length;i++){ var ttt = TemObjs[i]; if(!obj.hasOwnProperty(TemObjs[i])){ var objString="obj"; for(var j= 1;j<=i;j++){ objString+="."+TemObjs[j]; } obj = eval(objString); if(obj == undefined){ var temObjString="obj"; //对象的名var obj = {} for(var j= 1;j<i;j++){ temObjString+="."+TemObjs[j]; } obj = eval(temObjString); obj[TemObjs[i]]={}; obj={}; } }else{ obj = obj[TemObjs[i]]; } } return obj; } |