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;

  }