介绍
我们都知道js中可以使用typeof
来判断数据类型,但是有时它并不很精确,就拿数组来说,判断的结果是object
。所以我们需要用其他方法来准确判断到底是不是一个数组。
方法
有四个方法,很简单:
instanceof
语法:object instanceof constructor
意思是说object的原型链上是否有constructor的prototype,object是检测的对象,constructor是一个构造函数,结果返回布尔值
1 | var arr = []; |
constructor
语法:object.constructor 返回object的构造函数
1 | var arr = []; |
Object.prototype.toString.call()
1 | var arr = []; |
Array.isArray()
1 | var arr = []; |
此方法可能有兼容问题
总结
综合上面提到的方法,写一个比较完善的方法:
1 | function isArrayFn(v){ |