oldObj是一个对象,而不是值
例如var newObj=oldObj;
如果想oldObj改变的时候不影响到newObj;
可以这样写一个函数
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;
}
然后这样调用
newObj = clone(oldObj)
之后,oldObj的值无论怎么改变都不会影响newObj
原文地址:http://www.cnblogs.com/jiekk/archive/2011/06/20/2085097.html
本文介绍了一种在JavaScript中实现对象深拷贝的方法,通过递归遍历原对象的所有属性并为新对象分配这些属性,确保了原对象的变化不会影响到拷贝后的新对象。

756

被折叠的 条评论
为什么被折叠?



