标签:lse function 深拷贝 else nbsp type ceo class 实现
1 // 深拷贝 2 function cloneDeep(obj) { 3 // 3.根据obj为对象或者数组,产生一个空的对象或数组,存放数据 4 var newobj = obj instanceof Array ? [] : {}, 5 // 1.for...in进入循环 6 for (var k in obj) { 7 // 2.判断对象的第一个属性是否为数组或者对象,如果是,则进入递归 8 // if (obj[k] instanceof Array) { 9 // newobj[k] = cloneDeep(obj[k]) 10 // } else if (obj[k] instanceof Object) { 11 // newobj[k] = cloneDeep(obj[k]) 12 // } 13 // 4.上面两个执行逻辑一样,进行合并 14 if (typeof obj[k] === ‘object‘) { 15 newobj[k] = cloneDeep(obj[k]) 16 } else { 17 // 5.如果数据为基本类型,则直接赋值 18 newobj[k] = obj[k] 19 } 20 } 21 // 6.把存放了数据的新对象返回出去 22 return newobj 23 }
标签:lse function 深拷贝 else nbsp type ceo class 实现
原文地址:https://www.cnblogs.com/kirkor-sort/p/13022427.html