ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 深拷贝和浅拷贝的区别 **a.基本类型**\--名值存储在栈内存中 **b.引用数据类型**\--名存在**栈**中,值存在于**堆**中,但是**栈**会提供一个**引用的地址**指向**堆**中的值 * * * **浅拷贝:** 两个**变量**还是指向同一内存地址(复制了地址)。修改其中任意一个的值,另一个值会随之改变 ~~~ var obj = { name: "li", } var xu = obj; xu.name = "xu"; console.log(obj, xu); ~~~ **深拷贝:** 将对象的**值**复制,**给其新变量名及地址**。两个对象修改其中任意一个的值另一个不会改变(它们是毫无关联的两个独立个体)。 (下面使用解构赋值实现) ~~~ var an = { ...obj }; an.name = "an"; console.log(obj, an); ~~~;