JavaScript中如何区分浅拷贝与深拷贝?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2421个文字,预计阅读时间需要10分钟。
前言:阅读此文前需掌握:JavaScript的堆栈原理,引用类型与基本类型区别
在JavaScript中,我们将数据分为基本数据类型(原始值)与引用数据类型。
基本数据类型(原始值):- 数字(Number)- 字符串(String)- 布尔值(Boolean)- 空值(Null)- 未定义(Undefined)
引用数据类型:- 对象(Object)- 数组(Array)- 函数(Function)
前言:
阅读此文前需掌握:javascript的堆栈原理,引用类型与基本类型区别 在JavaScript中,我们将数据分为基本数据类型(原始值)与引用类型
- 基本数据类型的值是按值访问的,基本类型的值是不可变的
- 引用类型的值是按引用访问的,引用类型的值是动态可变的
var fx1 = 100;
console.log(fx === fx1) // true
var fx2 = {a: 1, b: 2};
var fx3 = {a: 1, b: 2};
console.log(fx2 === fx3) // false 两个不同的对象
- 基本数据类型的比较是值得比较
- 引用类型的比较是引用地址的比较
鉴于以上数据类型的特点,我们可以初步想到:所谓浅拷贝与深拷贝可能就是对于值的拷贝和引用的拷贝(基本数据类型都是对值的拷贝,不进行区分)。一般来说,我们所涉及的拷贝对象,也都是针对引用类型的。
本文共计2421个文字,预计阅读时间需要10分钟。
前言:阅读此文前需掌握:JavaScript的堆栈原理,引用类型与基本类型区别
在JavaScript中,我们将数据分为基本数据类型(原始值)与引用数据类型。
基本数据类型(原始值):- 数字(Number)- 字符串(String)- 布尔值(Boolean)- 空值(Null)- 未定义(Undefined)
引用数据类型:- 对象(Object)- 数组(Array)- 函数(Function)
前言:
阅读此文前需掌握:javascript的堆栈原理,引用类型与基本类型区别 在JavaScript中,我们将数据分为基本数据类型(原始值)与引用类型
- 基本数据类型的值是按值访问的,基本类型的值是不可变的
- 引用类型的值是按引用访问的,引用类型的值是动态可变的
var fx1 = 100;
console.log(fx === fx1) // true
var fx2 = {a: 1, b: 2};
var fx3 = {a: 1, b: 2};
console.log(fx2 === fx3) // false 两个不同的对象
- 基本数据类型的比较是值得比较
- 引用类型的比较是引用地址的比较
鉴于以上数据类型的特点,我们可以初步想到:所谓浅拷贝与深拷贝可能就是对于值的拷贝和引用的拷贝(基本数据类型都是对值的拷贝,不进行区分)。一般来说,我们所涉及的拷贝对象,也都是针对引用类型的。

