1. 通过JSON.stringify和JSON.parse实现:不能完全解决深层次对象的嵌套的克隆。
var newVal=JSON.parse(JSON.stringify(val))
2.封装一个函数: 通过递归遍历,根据数组和对象不同做出不同的深克隆区分。
function deepCopy(obj){
var newObj=isArray(obj)?[]:{}
for(var key in obj){
if(typeOf obj[key] ==='object'){
if( obj[key] ===null) {
obj[key]=null
}else{
newObj[key]=deepCopy(obj[key])
}
}else{
newObj[key]=obj[key]
}
}
}