1.最常用方法--typeof
typeof 是最常用判断数据类型的方法,只能判断基本数据类型,返回值有7种
number, string, boolean,null, undefined, symbol(es6新增)
2.判断对象类型--instanceof
instanceof 的原理是检查右边构造函数的prototype属性是否在左边实例对象的原型链上。
([2]) instanceof Array -> true
(new Date()) instanceof Date -> true
(function(){}) instanceof Function -> true
({}) instanceof Object -> true
null,undefined 使用该运算法的时候,返回值永远是 false
3.通用方法--Object.prototype.toString.call(value)
数值:返回[object Number]。
字符串:返回[object String]。
布尔值:返回[object Boolean]。
undefined:返回[object Undefined]。
null:返回[object Null]。
数组:返回[object Array]。
arguments 对象:返回[object Arguments]。
函数:返回[object Function]。
Error 对象:返回[object Error]。
Date 对象:返回[object Date]。
RegExp 对象:返回[object RegExp]。
其他对象:返回[object Object]