JavaScript 手撕深拷贝
-
function deepClone(obj = {}) { // 先判断如果不是对象直接返回 if(typeof obj !== 'object' || obj == null){ return obj } //初始化返回结果 let res if(obj instanceof Array){ res = [] }else { res = {} } for (let key in obj){ // 保证key不是原型上的属性 if(obj.hasOwnProperty(key)){ // 递归调用 res[key] = deepClone(obj[key]) } } return res }
更多推荐主题
-
JavaScript 闭包
综合讨论 • • icewing