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

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

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

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

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

块内存。

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

变。

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

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

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

相关推荐
竹林81813 小时前
Web3表单签名验证:我如何用 wagmi 和 siwe 让用户“无密码”登录
javascript
inksci13 小时前
使用飞帆的上传组件
前端·javascript
FOREVER-Q13 小时前
基于 Vite 的前端 SDK 工程化设计与模块化构建实践
开发语言·前端·javascript
耗子君QAQ14 小时前
为什么 AI 写代码也需要说明书?
前端·javascript·ai编程
h_654321014 小时前
公告/消息提示从右向左循环滚动vue
前端·javascript·vue.js
Lyyaoo.14 小时前
JWT 令牌(待更新)
java·前端·javascript
weixin_4367778714 小时前
el-select的label没有没有反显怎么办?
开发语言·前端·javascript
暗不需求14 小时前
React项目架构深度解析:从0到1理解现代前端工程化
前端·javascript·react.js
jiayong2314 小时前
第 40 课:任务详情抽屉里的编辑 / 删除联动强化
java·开发语言·前端·javascript·vue.js·学习
Mr.mjw14 小时前
vue中使用 postcss-px-to-viewport 插件实现多屏适配
javascript·vue.js·postcss