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

时间:2008-10-01 08:26:56

标签: javascript cross-browser

Firefox以外的哪些浏览器支持Array.forEach()? Mozilla say it's an extension to the standard并且我意识到添加到数组原型是微不足道的,我只是想知道其他浏览器支持它吗?

7 个答案:

答案 0 :(得分:19)

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

在kangax的ECMAScript 5 compatibility table上,Array.forEach对除IE8以外的所有浏览器都获得'yes'。

截至2011年9月,桌面设备上的IE浏览器共享为less than 40%at least 8% of browsers are IE 9

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

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

答案 1 :(得分:12)

维基百科的JavaScript文章按浏览器列出了JS版本。 forEach是part of JavaScript 1.6。所以大多数浏览器都支持它,除了Opera 9.02(我刚刚测试过)。 Opera 9.5(我刚刚安装!)支持它,以及indexOf for Array。

令人惊讶的是,它不是官方的。我在页面ECMAScript support in Opera 9.5中看不到它的支持。也许这是一个忽视或者可能只是他们不想做广告的部分支持。

答案 2 :(得分:12)

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

答案 3 :(得分:4)

所有现代浏览器,但IE。

答案 4 :(得分:1)

Microsoft AJAX客户端库将此添加到Array原型中,因此如果您的站点中有该客户端库,那么您肯定会拥有它。

答案 5 :(得分:0)

如果您需要所有浏览器支持此功能和其他JavaScript 1.6到1.8功能,我建议使用可自定义的jPaq库。这些功能以Mozilla建议的方式实现。

答案 6 :(得分:0)

我已经检查了caniuse.com,除了 Opera Mini 的支持信息为foreach之外,似乎所有浏览器都支持?Support unknow。如果您有兴趣,可以使用此链接来检查浏览器是否支持任何功能。 https://caniuse.com/?search=foreach