检测方法有四种:
1.object.prototype.toString.call()
可以检测所有数据类型
语法: object.prototype.toString.call(‘xxx’)
返回值:[object,类型名称]
2,constructor
可以检测基本数据类型和引用数据类型
语法: ‘xx’.constructor === String/Number/Array
返回值:true/false
弊端:把类的原型进行重写,可能把之前的constructor覆盖,导致检测结果不正确
3.instancOf
只能用于引用类型的检测
弊端:对基本数据类型不生效
语法:‘xxx’ instanceOf Array/object
返回值:true/false
4.typeOf
用于检测基本数据类型和函数
弊端:对引用数据类型只会返回object
语法:typeOf 'xxx'
返回值:‘string/'boolean/object(无法区分数组,函数等)’