首页 > 编程语言 > 详细

javascript深度拷贝

时间:2017-06-22 23:25:01      阅读:242      评论:0      收藏:0      [点我收藏+]

Object.prototype.deepCopy=function(){
var obj=arguments[0]||{};
for(var i in this){
if(this.hasOwnProperty(i)){
if(isSimpleObject(this[i])){
obj[i]={};
this[i].deepCopy(obj[i]);
}else if(isArray(this[i])){
obj[i]=[];
this[i].deepCopy(obj[i]);
} else {
obj[i]=this[i];
}
}
}
return obj;
}

var isSimpleObject=function (obj) {
return Object.prototype.toString.call(obj)===‘[object Object]‘;
}

var isArray=function (arr) {
return Object.prototype.toString.call(obj)===‘[object Array]‘;
}

var obj={x:1,y:[1,2,3],z:{x:1},n:function(){return this.x}}

var obj1=obj.deepCopy();

javascript深度拷贝

原文:http://www.cnblogs.com/TonyLearning/p/7067696.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!