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

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

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

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

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

块内存。

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

变。

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

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

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

相关推荐
qq_4560016543 分钟前
在Vue3中,如何在父组件中使用v-model与子组件进行双向绑定?
前端·javascript·vue.js
一夜枫林4 小时前
uniapp自定义拖拽排列
前端·javascript·uni-app
良艺呐^O^5 小时前
uniapp实现app自动更新
开发语言·javascript·uni-app
拉不动的猪7 小时前
前端自做埋点,我们应该要注意的几个问题
前端·javascript·面试
烛阴8 小时前
Node.js中必备的中间件大全:提升性能、安全与开发效率的秘密武器
javascript·后端·express
小杨升级打怪中8 小时前
前端面经-JS篇(三)--事件、性能优化、防抖与节流
前端·javascript·xss
鱼樱前端9 小时前
前端必知必会:JavaScript 对象与数组克隆的 7 种姿势,从浅入深一网打尽!
前端·javascript
yzhSWJ9 小时前
Spring Boot中自定义404异常处理问题学习笔记
java·javascript
zyk_52011 小时前
前端渲染pdf文件解决方案-pdf.js
前端·javascript·pdf
沉迷...12 小时前
手动实现legend 与 echarts图交互 通过js事件实现图标某项的高亮 显示与隐藏
前端·javascript·echarts