1.typeof()
返回的对应6种基本数据类型,不多做介绍。
这里注意,如果是引用类型(比如对象、数组等),那么返回的都是Object
2.instanceof
object instanceof constructor
MDN解释:instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。
配合下面的例子就很好理解了,最典型也是面试最爱考的一个:
typeof(null) //Object
null instanceof Object //false
3.constructor
本身是prototype对象的一个属性,默认指向prototype属性所在的构造函数,此处我们用来判断数据类型。返回boolean值
当然他的本质是算prototyep属性所在的函数的
作用:1.判断数据类型,包括数组、日期、对象等,可以区分清楚
语法:变量名.constructor === 数据类型
str.constructor===String //true
num.constructor===Number //true
obj.constructor===Object //true
arr.constructor===Array //true
new Date().constructor===Date //true
4.Object.prototype.toString.call()
jQuery中jQuery.type()实际上就是采用这个方法进行数据类型检测的。
基本可以算作万能
jQuery.type(str) //string
jQuery.type(num) //number
jQuery.type(arr) //array
jQuery.type(obj) //object
jQuery.type(fn) //funtion