对象深拷贝,在项目中经常能使用的到.介绍两种方法;
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 存在目标对象和源对象传值,所以这里.目标对象传{}*/
网友评论