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

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

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

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

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

块内存。

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

变。

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

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

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

相关推荐
竹林8181 小时前
用 Pinata + IPFS 存 NFT 元数据踩了三天坑,我总结了这份完整的前端实现方案
javascript
林希_Rachel_傻希希1 小时前
web性能优化之延迟加载图片和<inframe>
前端·javascript·面试
小米渣的逆袭2 小时前
Chrome Extension Script World(ISOLATED / MAIN)原理与适用场景
前端·javascript·chrome
Esaka_Forever3 小时前
Python 与 JS (V8) 垃圾回收核心区别 + 底层根源分析
开发语言·javascript·jvm
林希_Rachel_傻希希3 小时前
web性能优化之——AI总结视频
前端·javascript·面试
binbin_523 小时前
UIAbility 与 WindowStage:窗口创建、加载、销毁的完整链路
开发语言·javascript·深度学习·华为·harmonyos
binbin_523 小时前
WindowStage 多窗口与沉浸式窗口实践:从适配到体验细节
开发语言·javascript·深度学习·华为·harmonyos
weedsfly3 小时前
Cookie 安全三属性:HttpOnly、Secure、SameSite 分别防什么?
前端·javascript·面试
前端炒粉4 小时前
马克思主义基本原理在Vue框架中的指导作用探析
前端·javascript·vue.js
Marco_Marco1354 小时前
从百度/高德迁移到丰图地图API,需要注意什么?
开发语言·javascript·经验分享