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

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

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

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

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

块内存。

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

变。

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

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

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

相关推荐
西门吹-禅13 分钟前
文本搜索node js--meilisearch
开发语言·javascript·ecmascript
问今域中2 小时前
Vue的computed用法解析
前端·javascript·vue.js
扶苏10022 小时前
详解Vue3的provide和inject
前端·javascript·vue.js
奋斗吧程序媛3 小时前
Vue3初体验(2)
前端·javascript·vue.js
FunW1n4 小时前
tmf.js Hook Shark框架相关疑问归纳总结报告
java·前端·javascript
henry1010105 小时前
Deepseek辅助生成的HTML5网页版抄经典《弟子规》
前端·javascript·css·html·html5
扶苏10026 小时前
深入 Vue 3 computed:原理、实战与避坑指南
前端·javascript·vue.js
高德开放平台6 小时前
高德开放平台JS API插件支持WebMCP:重新定义AI与网页交互的新时代
javascript·人工智能·开发者·高德地图
低代码布道师7 小时前
Next.js 16 全栈实战(三):数据库建模与动态菜单实现
开发语言·javascript·数据库
扶苏10028 小时前
深入理解 Vue 3 的 watch
前端·javascript·vue.js