文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>javascript中的深拷贝和浅拷贝...

javascript中的深拷贝和浅拷贝...

时间:2010-08-17  来源:YSK_bit

javascript中的浅拷贝和深拷贝同其他语言例如C++、java中的深浅拷贝都是类似的。浅拷贝,就是只复制了对象的引用,而并没有复制对象本身;深拷贝就是复制了整个对象,也就是又重新开辟了一块内存空间,该空间中存储的对象同被复制的对象是完全相同的。

自己写了一个javascript深拷贝的函数,由于写的比较仓促,如果有不合适的地方,还请大家指正。

 function clone(subject){ //6种类型object、 string、boolean、undefined、function、number //个人认为只有object需要进行特殊处理,其它类型进行简单赋值应该就可以 if(typeof subject != 'object'){ return subject; } //数组需要进行特殊处理 if(Object.prototype.toString.call(subject) === '[object Array]'){ var array = []; for(var i = 0; i < subject.length; i++){ if(typeof subject[i] === 'object'){ array[i] = clone(subject[i]); }else{ array[i] = subject[i]; } } return array; } //处理是object类型的情况 var copy = {}; for(var name in subject){ copy[name] = clone(subject[name]); } return copy; } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/YSK_bit/archive/2010/08/18/5820594.aspx

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载