02-浅拷贝和深拷贝


文档摘要

前言 在 JavaScript 的编程中经常需要对数据进行复制,这就涉及到浅拷贝和深拷贝,是非常重要的概念。 浅拷贝 概念 创建一个新的对象B,来接收你要重新复制的对象A的值: 如果对象A里面的属性是基本类型,拷贝的是基本类型的值; 但如果对象A里面的属性是引用类型,拷贝的是内存中的地址(不是拷贝值)。也就是说,拷贝后的内容和原始内容,指向的是同一个地址。如果一个对象的属性值发生了变化,另一个对象的属性值也会发生变化。 浅拷贝在拷贝引用类型的数据时,只拷贝第一层的属性,再深层的属性无法进行拷贝。用一个成语形容叫“藕断丝连”。 深拷贝 概念 创建一个新的对象B,来接收你要重新复制的对象A的值: 在堆内存中开辟了一块全新的内存地址,将对象A的属性完全复制过来。


发布者: 作者: 转发
评论区 (0)
U