本帖最后由 OlinBin 于 2011-06-30 17:10:49 编辑

解决方案 »

  1.   

    _a 和_b没区别
    关键是要理解js的对象克隆不是简单的用等号,而是需要创建对象,然后再遍历对属性赋值。
      

  2.   

    _b只是引用的_a,_b里并没有_a的复制。
      

  3.   


    function clone(myObj){
      if(typeof(myObj) != 'object') return myObj;
      if(myObj == null) return myObj;
      
      var myNewObj = new Object();
      
      for(var i in myObj)
         myNewObj[i] = clone(myObj[i]);
      
      return myNewObj;
    }
      

  4.   

    对象是按引用来传递的。就好比指针。这是编程语言的通用法则。 数组也是对象
    如果你要删不掉可以这样
    var _a = [{"a":1,"b":2,"c":3}];
    var _b = [{}];
    _b[0].a=a[0].a
    _b[0].b  a[0].b
    _b[0].c=a[0].c