对于typeof的局限性
typeof只能判断js中的根底数据类型
援用数据类型(函数,array,object)全副为Object,如果业务逻辑中须要判断具体为哪一种援用类型,则无奈实现
能够实现判断是数组还是对象的几种办法
instanceof
简略来说就是:判断对象的原型链是否是指向构造函数的prototype
已知:array属于object,然而object不全等于array
得出:
arr instanceof Array //true
arr instanceof Object //true
obj instanceof Array //false
对象constructor属性
判断结构器为什么类型
arr.constructor === Array //true
arr.constructor=== Object //false
Object.prototype.toString.call()
此办法能够准确返回call()办法中的参数的数据类型
这里的实现原理大家能够具体推敲一下,不做赘述。
isArray办法
Array.isArray
返回为boolean值
发表回复