递归实现深拷贝
var isObject=function(obj){ //判断是否是对象
var type=typeof obj;
return type===‘function’||type===‘object’&&!!obj;
}
var deepClone=function(obj){
if(!isObject(obj))
return obj //如果不是直接返回基本值
var result=new obj.constructor(); //如果传入的是数组 则实例化一下 返回一个新数组的实例,对象一样
for(var i in obj){ //循环这个对象的每一位
if(obj.hasOwnProperty(i){
result[i]=deepClone(obj[i]);
}
}
return result
}
//打印拷贝结果
console.log(deepClone([123,{a:1,b:{c:2}},456]))