1.ES6扩展运算符
let a = {num:1} let b = {...a} b.num = 2 consloe.log(a.num)//1
只能单层
2.Object.assign
let a = {num:1} let b = Object.assign({},a) b.num = 2 consloe.log(a.num)//1
只能单层
3.JSON.parse(JOSN.stringify(obj))
var a = { key1: { subKey: 1 } }; var b = JSON.parse(JSON.stringify(a)); b.key1.subKey = 2 console.log(a)//1
可以多层