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 
posted @ 2020-07-21 14:57  pine007  阅读(139)  评论(0编辑  收藏  举报