//此处使用lodash _
let obj = {
a: 1,
b: 2,
}
let obj1 = {
c: 3,
d: () => {
console.log(1)
},
e: {
f: {
g: 10
}
}
}
let a = Object.assign({}, obj, obj1)
let gg = _.cloneDeep(a);
obj1.e.f.g = 11
console.log('a: ', a);
console.log('gg: ', gg);
1 深拷贝和浅拷贝都会拷贝出新的地址,浅拷贝只拷最外层,深拷贝会依次递归出所有层
2 上述案列打印,更改obj1.e.f.g = 11 a中的会改变 gg不会改变
3 拷贝方法有很多 自行百度
sonic.js 画loading 库