JavaScript如何解析数组与非数组对象的深浅克隆机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计807个文字,预计阅读时间需要4分钟。
目录浅拷贝、深拷贝
1.对数组合行拷贝
1.1 浅拷贝 1.2 深拷贝2.对非数数组对象进行拷贝
2.1 浅拷贝 2.2 深拷贝3.整合深拷贝函数
浅拷贝、深拷贝浅拷贝:直接将对象存储在栈中,不会复制引用,即指针拷贝。深拷贝:复制整个对象,包括其引用的对象。目录
- 什么是浅克隆、深克隆
- 1.对数组进行克隆
- 1.1 浅克隆
- 1.2 深克隆
- 2.对非数组对象进行克隆
- 2.1 浅克隆
- 2.2 深克隆
- 3.整合深克隆函数
什么是浅克隆、深克隆
浅克隆:直接将存储在栈中的值赋值给对应变量,如果是基本数据类型,则直接赋值对应的值,如果是引用类型,则赋值的是地址。
深克隆:将数据赋值给对应的变量,从而产生一个与源数据不相干的新数据(数据地址已变化)。即对象各个层级的属性。
JavaScript中基本数据类型使用符号“=”可以进行克隆,引用数据类型使用符号“=”只是改变了变量的指向,并没有进行真正的克隆操作。
1.对数组进行克隆
1.1 浅克隆
使用for循环进行浅克隆。
本文共计807个文字,预计阅读时间需要4分钟。
目录浅拷贝、深拷贝
1.对数组合行拷贝
1.1 浅拷贝 1.2 深拷贝2.对非数数组对象进行拷贝
2.1 浅拷贝 2.2 深拷贝3.整合深拷贝函数
浅拷贝、深拷贝浅拷贝:直接将对象存储在栈中,不会复制引用,即指针拷贝。深拷贝:复制整个对象,包括其引用的对象。目录
- 什么是浅克隆、深克隆
- 1.对数组进行克隆
- 1.1 浅克隆
- 1.2 深克隆
- 2.对非数组对象进行克隆
- 2.1 浅克隆
- 2.2 深克隆
- 3.整合深克隆函数
什么是浅克隆、深克隆
浅克隆:直接将存储在栈中的值赋值给对应变量,如果是基本数据类型,则直接赋值对应的值,如果是引用类型,则赋值的是地址。
深克隆:将数据赋值给对应的变量,从而产生一个与源数据不相干的新数据(数据地址已变化)。即对象各个层级的属性。
JavaScript中基本数据类型使用符号“=”可以进行克隆,引用数据类型使用符号“=”只是改变了变量的指向,并没有进行真正的克隆操作。
1.对数组进行克隆
1.1 浅克隆
使用for循环进行浅克隆。

