数据类型分类
基本类型(值类型):
- String 字符串型
- Number 数字型
- Boolean 布尔型:true / false
- undefined:undefined
- null:null
对象类型(引用类型):
- Object 任意对象
- Function 函数对象:可以执行
- Array 数组对象:数值下标,内部数据有序
判断数据类型
typeof
返回数据类型的字符串表达:
-
可以判断除了null以外的基本数据类,typeof null输出的是’object'
-
不能判断除了function以外的对象类型,其他对象类型均会输出’object'
instanceof
可以判断对象的具体类型,即实例对象是由哪个类型对象实例化出来的。
===
可以判断undefined、null。
undefined与null
两者区别?
- undefined表示定义了但未赋值。null表示定义并赋值了,但值为null。
什么时候给变量赋值为null?
-
变量的初始值赋值为null,表示该变量后面将会被赋值为一个对象。
-
变量的后期赋值为null,可以让该变量指向的对象成为垃圾对象,从而被JS的垃圾回收机制所回收。
严格地区分数据的类型和变量的类型
JavaScript是一种弱类型、动态的语言,不需要提前声明变量的类型,程序在运行过程中,变量的类型会被自动确定,且类型可以被修改。
若要严格地区分变量的类型和数据的类型,则两者分类如下:
变量的类型,即变量内存值的类型:
-
基本类型:保存的是基本类型的数据值
-
引用类型:保存的是对象类型的地址值
数据的类型:基本类型和对象类型。