41

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

4

7 回答 7

20

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

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

截至 2011 年 9 月,IE 浏览器在桌面设备上的份额不到 40%至少 8% 的浏览器是 IE 9

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

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

于 2011-09-13T11:38:03.633 回答
12

Wikipedia的JavaScript文章按浏览器列出了 JS 版本。forEach 是JavaScript 1.6 的一部分。所以大多数浏览器确实支持它,除了 Opera 9.02(我刚刚测试过)。Opera 9.5(我刚刚安装!)支持它,以及用于 Array 的 indexOf。

令人惊讶的是,它不是官方的。我在 Opera 9.5 的 ECMAScript 支持页面中看不到它的支持。也许这是一种忽视,或者也许只是他们不想宣传的部分支持。

于 2008-10-01T09:04:35.747 回答
12

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

于 2009-11-30T23:42:30.713 回答
4

所有现代浏览器,但 IE。

于 2008-10-01T08:34:29.123 回答
1

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

于 2008-10-01T09:26:02.713 回答
0

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

于 2011-03-23T15:49:50.490 回答
0

我在caniuse.com上进行了检查,看起来所有浏览器都支持,foreach除了Opera Mini支持信息为?Support unknow. 如果您有兴趣,可以使用此链接检查浏览器对任何功能的支持。https://caniuse.com/?search=foreach

于 2020-12-15T08:09:58.667 回答