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

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

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

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

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

块内存。

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

变。

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

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

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

相关推荐
TON_G-T12 分钟前
javascript中 Iframe 处理多端通信、鉴权
开发语言·前端·javascript
周淳APP15 分钟前
【JS之闭包防抖节流,this指向,原型&原型链,数据类型,深浅拷贝】简单梳理啦!
开发语言·前端·javascript·ecmascript
kyriewen23 分钟前
console.log 骗了我一整个通宵:原来它才是时间旅行者
前端·javascript·chrome
冴羽35 分钟前
在浏览器控制台调试的 6 个秘密技巧
前端·javascript·chrome
前端Hardy38 分钟前
别再手动调 Prompt 了!这款开源神器让 AI 输出质量提升 300%,支持 Claude、GPT、Gemini,还免费开源!
前端·javascript·面试
敲代码的约德尔人43 分钟前
ES2025 JavaScript 新特性预览
javascript
angerdream1 小时前
最新版vue3+TypeScript开发入门到实战教程之watch详解
javascript·vue.js
蕨类植物1 小时前
Fastify 模块化项目实战(一) — 技术选型
javascript
发现一只大呆瓜1 小时前
深度拆解 fetch-event-source库实现原理
前端·javascript·面试
2601_953465611 小时前
HLS.js 原生开发!m3u8live.cn打造最贴合项目的 M3U8 在线播放器
开发语言·前端·javascript·python·json·ecmascript·前端开发工具