哪些Web浏览器本地支持Array.forEach()

除Firefox之外的哪些浏览器支持Array.forEach()? Mozilla说这是对标准的扩展 ,我意识到添加到数组原型是微不足道的,我只是想知道其他浏览器支持它吗?

维基百科的JavaScript文章通过浏览器列出了JS版本。 forEach是JavaScript 1.6的一部分 。 所以它被大多数浏览器支持,除了Opera 9.02(我刚刚testing过)。 歌剧9.5(我刚刚安装!)支持它,以及indexOfarrays。

令人惊讶的是,这不是官方的。 Opera 9.5中的页面ECMAScript支持没有看到它的支持。 也许这是他们不想做广告的一种忽略,或者只是一种部分的支持。

我刚刚检查了另一个问题: JavaScript for … in vs for 。

在kangax的ECMAScript 5兼容性表中 ,Array.forEach对除IE8以外的所有浏览器都是“yes”。

截至2011年9月,桌面设备上的IE浏览器份额不足40% , 至less8%的浏览器是IE 9 。

换句话说,Array.forEach目前支持大约70%的桌面浏览器。 显然,这个数字在很大程度上取决于地域和其他因素 – 一些地区或国家(例如巴西)的Chrome用户比例较高,而一些(如中国)在IE6和IE8上的用户则更多。

我没有检查,但移动支持(在WebKit和Opera浏览器)可能会更高。

由于IE不支持它(甚至没有V8),我使用jQuery.each() – http://docs.jquery.com/Utilities/jQuery.each

所有现代浏览器,但IE浏览器。

Microsoft AJAX客户端库将此添加到数组原型,所以如果您的网站中有该客户端库,那么您肯定会拥有它。

如果你需要所有的浏览器来支持这个和其他的JavaScript 1.6到1.8的function,我会build议使用可定制的jPaq库。 这些function是以Mozillabuild议的方式实现的。