JavaScript查漏补缺之判断变量是否数组
昨天面试碰到这个问题,回答的不太好,当时大致的思路如下:
- 使用
typeof
,但是话说出口马上反应过来typeof []
得到的是”object”; - 使用
instanceof
,面试官说这个倒是可以,但是遇到iframe
还是会有问题;
当时聊到这里基本就结束了,面试官没再追问。不过其实还有别的方法。
ES5中给Array增加了isArray(),可以方便地判断一个变量是否数组,但就当前的浏览器环境而言,还是有部分用户的浏览器不支持ES5。接下来就请出终极大宝剑!登登登: Object.prototype.toString.call(someVar) 由于这篇文章介绍的已经非常清楚,此处不再赘述。
以上。