JavaScript的isArray()函数及兼容性方案
by 毛三胖 on 2018年03月04日
阅:406赞:5

isArray()兼容函数

if (!Array.isArray) {
  Array.isArray = function(arg) {
    return Object.prototype.toString.call(arg) === '[object Array]';
  };
}

简言

Array.isArray()是ES5中的函数,因此一些老的浏览器(IE 6,7,8)并不支持。建议使用上述兼容性函数。

语法

Array.isArray()函数能可靠地确定对象是否为Array。其语法如下:

Array.isArray(obj)

其中参数obj为待检验的对象,如果obj是数组返回true,否则返回false。

示例

VS instanceof Array

在做对象是否为数组的判定时,isArray()判定优于用instanceof Array方法的判定。因为isArray()能够跨iframe使用,而instanceof不能。

对比测试如下:

结论

在做对象是否为数组判定时,使用本文中的isArray()兼容函数即可。

$ 热门标签
$ 贴士
简单是稳定的前提。 -Edsger Dijkstra
$ 声明
本站所有代码及文字都是作者精心汇编整理而成,转载代码及文字请明确注明出处和作者名称。