对象的赋值;仅仅是把新对象指向对象存储的地址,并不是重新创建了一个对象,所以改变对象的值时,所有指向该对象地址的对象的值都会变。
解决办法是,复制对象的值重新存储,提供一个好用的方法。
复制对象的数值方法 function clone(obj) { var o,i,j,k; if(typeof(obj)!="object" || obj===null)return obj; if(obj instanceof(Array)) { o=[]; i=0;j=obj.length; for(;i<j;i++) { if(typeof(obj[i])=="object" && obj[i]!=null) { o[i]=arguments.callee(obj[i]); } else { o[i]=obj[i]; } } } else { o={}; for(i in obj) { if(typeof(obj[i])=="object" && obj[i]!=null) { o[i]=arguments.callee(obj[i]); } else { o[i]=obj[i]; } } } return o; }