浅拷贝改变数据、深拷贝改变数据和console.log()打印数据的执行步骤是怎样的
有这样一串代码const a = { name: '小明', age: '18', else: { sex: '男' }}const b = Object.assign({}, a)
console.log(a)
console.log(b)
b.name = '小红'
console.log(a)
console.log(b)
b.else.sex = '女'
console.log(a)
console.log(b)
希望的是打印出{ name: '小明', age: '18', else: { sex: '男' }}{ name: '小明', age: '18', else: { sex: '男' }}{ name: '小明', age: '18', else: { sex: '男' }}{ name: '小红', age: '18', else: { sex: '男' }}{ name: '小明', age: '18', else: { sex: '女' }}{ name: '小红', age: '18', else: { sex: '女' }}
结果直接全部sex都为女
想知道执行顺序是什么?知道浅拷贝是指针指向堆内存,但对执行速度不明,对底层原理不明。
看看这篇文章有没帮助:
https://blog.csdn.net/qq_39207948/article/details/81067482
Twilight6 发表于 2022-5-10 19:24
看看这篇文章有没帮助:
https://blog.csdn.net/qq_39207948/article/details/81067482
很抱歉,看完后并没有感觉直击要害 害羞的新手 发表于 2022-5-11 14:39
很抱歉,看完后并没有感觉直击要害
好吧,抱歉,你可以去 CSDN 逛逛看
页:
[1]