js 克隆对象(转)
js 克隆对象
原文:http://www.360doc.com/content/10/0305/13/15055_17649067.shtml
note
由于JAVASCRIPT的对象到对象的赋值是传址的,当我需要对两个相同内容对象进行更改与比较时,我就需要把旧对象CLONE出来。
code
定义
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;
}
调用
var o = {a:1, b:2};
var b = o;
b.b = 3; //此时,o.b的值为3
var o = {a:1, b:2};
var b = clone(o);
b.b = 3; //此时,o.b的值仍为2