简单易懂的对象深、浅拷贝----javascript
从代码可以看出,基本数据类型a赋值给b后,b可以重新赋值,不影响a的值。而引用数据类型obj赋值newObj后,newObj的赋值操作会影响Obj原来的值,真是因为obj与newObj指向堆中同一个对象,会互相影响的,这是所谓的浅拷贝。其次,基本数据类型被创建并赋值时,在内存中是存储在栈中的;而引用数据类型,在内存中是存放在堆中的,变量可以理解为有一个指针,指向堆的值。所谓的深拷贝,就是复制原对象,且新对象的任何操作都不影响原对象,等同于在内存中重新创建一个新对象。最后,看一个demo。
原创
2022-09-27 19:55:36 ·
236 阅读 ·
0 评论