首页 > 代码库 > javascript深度拷贝
javascript深度拷贝
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深度拷贝
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。