1、js数据类型
JS的数据类型分为两大类,基本数据类型(String、Number、Boolean、Null、Undefined、Symbol) 和 引用数据类型 (Object)。基本数据类型是保存到栈内存中的,而引用数据类型是保存在堆内存中的(严格来讲,是由栈区和堆区共同保存,栈区保存变量标识符和指向堆内存的地址)。
数据类型划分
1> 基本数据类型 (6种): 基本数据类型的数据存放在栈中
String、Number、Boolean、Null、Undefined、Symbol(ES6)
复制变量:将一个变量复制给另一个变量时,会将变量值的副本赋值给新变量,此后两个变量完全独立
2> 引用数据类型 (Object - 在js中除了基本数据类型以外都是对象,Array、Function、Object、RegExp都是 对象):
引用类型是同时保存在栈区中和堆区中的,引用类型的存储需要在内存的栈区和堆区中共同完成,栈区保存变量标识符和指向堆内存的地址
复制变量:将引用数据类型的变量复制给另一个变量时,会将当前变量的内存地址赋值给新变量,此时两个变量都指向内存中同一个对象
typeof类型检测
可以判断所有的基本数据类型,null会被判定为object;引用类型除了function可以判断,其余都为object。
1> 定义:返回表示当前数据类型的字符串
2> 语法:typeof(表达式) | typeof 变量名
3