使用原生JS实现深拷贝
`function getType(data){
return Object.prototype.toString.call(data).slice(8,-1);
}//1.声明一个函数,返回数据的类型
function deepCopy(data){//把数组和对象拿出来赋空
if(getType(data) == "Array"){
var res = [];
}else if(getType(data) == "Object"){
var res = {};
}else{
return data;//没有数组或对象就结束递归
}//2.声明一个函数,实现深拷贝
for(var key in data){
res[key] = deepCopy(data[key]); //递归
}//循环将内容添加到空区间中
return res;
}`
JSON方法实现深拷贝
`var obj1 = JSON.stringify(obj);
var obj2 = JSON.parse(obj1) `
jQuery方法实现深拷贝
`//参数:$.extend(deep,targetObj,refobj)
deep:是否深拷贝 默认是false:浅拷贝, true:深拷贝 targetObj:目标对象 refobj:被拷贝的对象
var obj2 = $.extend(true,{},obj1);`