JS中对象object的复制

JS中对象object的复制

今天就js中对象复制问题向一个高手朋友请教,

整理如下:

JS中除了基本数据类型(string, number)外,

赋值语句只是传递了一个引用

而不是将数据复制一份。

通常如变量A的值是数组或对象,以及dom对象的,

新定义一个变量B,然后将A赋值给B,

那么这个时候,A得到的其实只是一个引用。

引用的意思就是,比如上述赋值后,通过B[x]赋值一个新值,

访问A[x],会发现它也变成了新值了。

 

那么如果要复制一个对象,

就要采用深复制的方法,

采用递归的方式遍历对象的每一个属性,

详细可见:easyUI中的deepClone方法,

网址:http://www.easyui.org.cn/easyui.js

 

摘自 http://hi.baidu.com/lane727/item/800f52229fa605876f2cc33c

posted on 2013-01-05 16:58  勿惹尘埃  阅读(503)  评论(0编辑  收藏  举报