原生JS实现
var obj = {
name : "abc",
age :123,
card : ['visa','master'],
wife : {
name : 'bcd',
son : {
name : "aaa"
}
}
}
var obj1 = {};
function deepClone(orign,target){
var tSr = Object.prototype.toString;
var target = target || {};
var arr = "[Object,Array]";
for(var prop in orign){
if(orign.hasOwnProperty(prop)){
if(orign[prop] !=='null' && typeof(orign[prop])=="object"){
target[prop] = ( tSr.call(orign[prop])) ==
arr ? [] : {};
deepClone(orign[prop],target[prop]);
}else{
target[prop] = orign[prop];
}
}
}
return target;
}
deepClone(obj,obj1);
JSON实现深拷贝
var test1 = JSON.parse(JSON.stringify(test));