手记

对象的深拷贝两种方法

对象深拷贝,在项目中经常能使用的到.介绍两种方法;

methods 1

    let faker ={        name:{         xing:{ 
             first:'相赫',             second:'李'
        },        ming:'加油'
      },      age :23,      honour :['世界冠军','是','faker']
     }      let uzi = JSON.parse(JSON.stringify(faker))
      uzi.age = 22
      uzi.name.xing.first = '子豪'
      uzi.name.xing.second = '简'
      uzi.honour[2] = 'UZI'
      console.log(faker)      console.log(uzi)

/*JSON的深拷贝方式会忽略函数对象和原型对象,用的时候需谨慎,考虑实际运用 */

methods 2

   let smlz = {      name:'司马老贼'
    }   let SMLZ = Object.assign({},smlz)   
   console.log(smlz === SMLZ)   console.log(SMLZ)

/* Object.assign 存在目标对象和源对象传值,所以这里.目标对象传{}*/



作者:会拐弯的蜗牛
链接:https://www.jianshu.com/p/c77cfd73f4d1


0人推荐
随时随地看视频
慕课网APP