递归实现深拷贝
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]))
2018

被折叠的 条评论
为什么被折叠?



