JS基本数据类型和引用数据类型总结
一、在JS中,什么是基本数据类型,什么是引用数据类型?
基本数据类型:是存储简单数据值的方式,基本数据类型又被称为原始数据类型,主要包括以下几种:
1. 字符串(String):用于表示文本数据。例如:“hello”。
2. 数字(Number):用于表示数值数据,包括整数和浮点数、NAN。例如:42和3.14。
2.1整数:用于表示整数值,如1、-5、100等。
2.2浮点数:用于表示带有小数部分的数值,如3.14、-0.5等。
2.3. NAN:是一个特殊的数字类型,表示Not A Number。
3. 布尔值(Boolean):用于表示逻辑值,只有两个取值,true和false。
4. 空值(Null):表示一个空值或者不存在的值,只有一个值null。5. 未定义(Undefined):表示一个未定义的值,通常是声明了但是未赋值的变量,只有一个值undefined。
6. 符号(Symbol):ES6新增的数据类型,用于创建唯一的标识符
引用数据类型:用于存储和处理复杂数据的方式,引用数据类型又被称为复合数据类型,主要包括以下几种:1. 对象(Object):对象是键值对的集合,可以包含各种数据类型,包括其他对象。对象通过花括号 {} 创建。例如:{ key: value }
2. 数组(Array):数组是有序的数据集合,可以包含多种数据类型,通过索引访问。数组通过方括号 [] 创建。例如:
3. 函数(Function):函数是可以执行的代码块,也是一种引用数据类型。函数通过关键字 function 定义。例如:
4. 日期(Date):表示日期和时间的对象。通过构造函数 Date 创建。例如:
5. 正则表达式(RegExp):用于处理文本的模式匹配。通过构造函数 RegExp 创建。例如:
二、基本数据类型与引用数据类型的区别
1. 存储位置不同
基本数据类型:存放在栈中的简单数据段,数据大小确定,内存空间大小可以分配,它们是直接按值存放的,所以可以直接按值访问。例如:
var a = 10;
var b = a;
b = 20;
console.log(a); // 10
console.log(b); // 20
引用数据类型:存放在堆内存中的对象,变量其实是保存的在栈内存中的一个指针(保存的是堆内存中的引用地址),这个指针指向堆内存。例如:
var obj1 = new Object();
var obj2 = obj1;
obj2.name = "我有名字了";
console.log(obj1.name); // 我有名字了
2. 拷贝方式不同:基本数据类型是按值传递的,即复制一个变量时,会创建一个新的值。而引用数据类型是按引用传递的,即复制一个变量时,只是复制了地址,两个变量指向同一个对象。
3. 可变性不同:基本数据类型的值是不可变的,一旦创建就不能被修改。而引用数据类型的值是可变的,可以修改其属性或内容。
4. 比较方式不同:基本数据类型的比较是按值比较,即比较它们的实际值。而引用数据类型的比较是比较它们的引用,即比较它们是否指向同一个对象。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。