六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 48|回复: 0

转载-----javascript深度克隆对象

[复制链接]

升级  75.33%

140

主题

140

主题

140

主题

举人

Rank: 3Rank: 3

积分
426
 楼主| 发表于 2012-12-22 21:29:21 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body">js一般有两种不同数据类型的值:
  基本类型(包括undefined,Null,boolean,String,Number),按值传递;
  引用类型(包括数组,对象),按址传递,引用类型在值传递的时候是内存中的地址。
克隆或者拷贝分为2种:
  浅度克隆:基本类型为值传递,对象仍为引用传递。
  深度克隆:所有元素或属性均完全克隆,并于原引用类型完全独立,即,在后面修改对象的属性的时候,原对象不会被修改。
<div class="cnblogs_code">1 function cloneObject(obj){
     if (obj === null) return null;
2     var o = obj.constructor === Array ? [] : {};3     for(var i in obj){4         if(obj.hasOwnProperty(i)){5             o = typeof obj === "object" ? cloneObject(obj) : obj;6         }7     }8     return o;9 }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表