js中浅拷贝和深拷贝的区别

JavaScript有两种数据类型,基本数据类型和引用数据类型。基本数据类型都是按值访问的,

我们可以直接操作保存变量中的实际值,而引用数据类型如Array,我们不能直接操作对象的堆空

间,引用数据类型的值都是按引用访问的,即保存在变量对象中的一个地址。

浅拷贝(shallow copy):只复制指向某个对象的指针,而不复制这个对象本身,新旧对象共享一

块内存。

深拷贝(deep copy)):复制并创建一个一模一样的对象,不共享内存,修改新对象旧对象不会改

变。

注:深拷贝和浅拷贝的区别只适用于array数组和object对象

如何区分深拷贝和浅拷贝:简单的说,就是假设B复制了A,当修改A时,看B是否会发生变

化,如果B也跟着变了说明这是浅拷贝,拿人手短;如果B没变,那就是深拷贝,自食其力。

相关推荐
এ慕ོ冬℘゜13 分钟前
JS 前端基础高频面试题
开发语言·前端·javascript
放下华子我只抽RuiKe516 分钟前
React 从入门到生产(八):测试与部署
前端·javascript·深度学习·react.js·前端框架·ecmascript·集成学习
Dxy123931021619 分钟前
JS列表获取指定范围值的 N 种方法
开发语言·javascript·ecmascript
蜡笔小电芯23 分钟前
【Electron】第2章—BrowserWindow 与 Electron 窗口机制
前端·javascript·electron
Hilaku30 分钟前
从 15MB 减到 800KB,一行 ffmpeg 解决3D 渲染卡顿问题
前端·javascript·程序员
JiaWen技术圈33 分钟前
React Native 存在水合(Hydration)问题吗
javascript
Dxy123931021635 分钟前
`...` 展开运算符(Spread Operator)详解
开发语言·javascript
XinZong38 分钟前
OpenClaw 你知道skill有那些分类吗?今天告诉你七大分类精品skill技能合集
javascript
用户938515635071 小时前
移除数组里的指定元素,你学会了吗?
javascript·算法