本文主要是介绍Javascript 深拷贝的前因后果(深层理解),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Javascript 深拷贝的前因后果
- 前言
- 前因—浅拷贝
- 值类型和引用类型
- 后果—深拷贝
- 关于深拷贝
- 手写深拷贝
前言
关于 JS 的深拷贝,相信不少同学都有所耳闻或者了解吧,那为什么会有深拷贝?深拷贝解决了什么问题?深拷贝的实现逻辑是什么?作为前端面试的高频考点,今天这篇文章就带大家吃透深拷贝,搞懂它的前因后果
前因—浅拷贝
在讲浅拷贝之前,先来了解一下什么是值类型和引用类型,会的同学就当复习一波~
值类型和引用类型
什么是值类型和引用类型?一个例子教大家看懂:
值类型:
这个大家应该都能理解,比较直观的逻辑,打印的b结果为100。看下面逻辑图加深印象
值类型都是通过栈进行存储的:
- 第一步:把a赋值成100
- 第二步:把b赋值为a,也是等于100
- 第三步,把a赋值为100,a和b互不影响,b的值仍未100
引用类型:
a赋值成一个对象age:20,b赋值为a,b.age赋值为21,最后打印a.age的值也为21。看下面逻辑图加深印象:
这篇关于Javascript 深拷贝的前因后果(深层理解)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!