对象深拷贝,在项目中经常能使用的到.介绍两种方法;
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