`
/**
* 深拷贝
* @param {object} obj 要拷贝的对象
*/
function deepClone(obj={}){
if(typeof obj!=='object' || obj == null){
// obj是 null ,或者不是对象和数组,直接返回
return obj;
}
// 初始化返回结果
let result;
if(obj instanceof Array){
result=[];
}else{
result={};
}
for(let key in obj){
//判读key是不是这个对象所拥有的属性,保证key不是原型的属性
if(obj.hasOwnProperty(key)){
// 递归调用!!!
result[key]= deepClone(obj[key]);
}
}
return result;
}
`
出现循环引用的时候会报错!!!
待完善。。。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。