对象拷贝(三)深度拷贝

深拷贝

递归的理解

递归:自己调用自己

// 计算累加
function fun(n){
    if (n === 1){
        return 1
    } else {
        return n + fun(n - 1)
    }
}
let res = fun(3) 
console.log(res) // 6
利用递归实现深度克隆
// 深拷贝
  function copy(obj){
    let newObj = {}
    for(let i in obj){
      if(obj[i] instanceof Object){
        newObj[i] = copy(obj[i])
      }else{
        newObj[i] = obj[i]
      }
    }
    return newObj
  }

当对象里面的值还是对象的时候,利用深拷贝就可以实现复制了

posted @ 2021-07-26 22:17  `Duet`  阅读(29)  评论(0编辑  收藏  举报