版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/document_dom/article/details/88537629
第一种
function deepClone(obj){
var str,newObj = obj instanceof Array? [] : {};
if(typeof obj !== 'object'){
return;
}else if(window.json){
str = JSON.stringify(obj);
newObj = JSON.parse(str);
}else{
for(var i in obj){
newObj[i]=typeof obj[i]==='object'?deepClone(obj[i]):obj[i]
}
}
return newObj;
}
第二种
function deepClone(obj,newObj){
var newObj = newObj || {};
for(key in obj){
if(typeof obj[key] == 'object'){
newObj[key] = (obj[key].constructor === Array)?[]:{}
deepClone(obj[key],newObj[key]);
}else{
newObj[key] = obj[key]
}
}
return newObj;
}