JS深浅拷贝
1. Object.assign({},XXX) 对象合并
利用Object.assign(), 第一个参数必须是空对象**
let obj = {name:'无心',location:'天外天'}
let newObj = Object.assign({},obj)
2. JSON转换
通过JSON.stringify() 和 JSON.parse() 将该对象转为字符串之后在转为对象。
let obj = {name:'无心',location:'天外天'}
let newObj = JSON.parse(JSON.stringfy(obj))
3. ES6赋值解构语法
只可拷贝第一层,如存在对象中包里面还包含对象,就无法完成深拷贝
let obj = {name:'无心',location:'天外天'}
let newObj = {...obj}
4. for In 循环赋值
let obj = {name:'无心',location:'天外天'}
let newObj = {}
for(var key in obj){
newObj[key] = obj[key] // 此处为方括号
}
console.log(newObj)