js中可以通过typeof来判断基本的数据类型。
数据类型
js的数据类型分为基本数据类型和引用数据类型,基本数据类型又有5种基本数据类型和1种引用数据类型。
基本数据类型
5种基本数据类型分别为:数值型(Number)、字符串型(String)、布尔型(Boolean)、Undefined、Null。
引用数据类型
引用数据类型又可成为对象类型,具体有下面几个类型:数组、对象、函数。
数据类型检测
js给我们提供了数据类型检测的函数typeof。不过这个工具函数只可以给我们返回基本的数据类型,如果用于检测引用数据类型的时候,可能会不准确。typeof函数的返回值是一个字符串,具体如下:
“undefined”:如果这个值未定义
“boolean”:如果这个是布尔值
“string”:如果这个值是字符串
“number”:如果这个值是数值
“function”:如果这个值是函数
“object”:如果这个值是对象或者null
数组类型的检测
检测数据的数据类型,是一个非常典型的问题,使用的场景也很多。js给我们提供了instanceof方法,用于检测某个变量是否术语某个类型。
if(value instanceof Array){
//一些操作
}
意思是检测value是不是Array类型,是就返回true,不是就返回false。
使用instanceof的时候,如果是在一个网页中,或者在一个全局作用域中,是没有任何问题的,但如果一个网页中包含多个框架,那实际上就存在两个不同的全局执行环境,也就是存在了两个以上不同的Array构造函数。
ES5中新增了一个方法Array.isArray()方法用于检测某个值到底是不是数组。
if(Array.isArray(value)){
//一些操作
}
意思是如果value是Array,就返回true,否则返回false。