除了 Firefox 之外,还有哪些浏览器支持 Array.forEach()? Mozilla 说这是标准的扩展,我意识到添加到数组原型中很简单,我只是想知道其他浏览器支持它吗?
7 回答
我刚刚检查了另一个问题: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 浏览器上)可能更高。
Wikipedia的JavaScript文章按浏览器列出了 JS 版本。forEach 是JavaScript 1.6 的一部分。所以大多数浏览器确实支持它,除了 Opera 9.02(我刚刚测试过)。Opera 9.5(我刚刚安装!)支持它,以及用于 Array 的 indexOf。
令人惊讶的是,它不是官方的。我在 Opera 9.5 的 ECMAScript 支持页面中看不到它的支持。也许这是一种忽视,或者也许只是他们不想宣传的部分支持。
由于 IE 不支持它(甚至不支持 v8),我使用 jQuery.each() -- http://docs.jquery.com/Utilities/jQuery.each
所有现代浏览器,但 IE。
Microsoft AJAX 客户端库将此添加到 Array 原型中,因此如果您的站点中有该客户端库,那么您肯定会拥有它。
如果您需要所有浏览器都支持此功能以及其他 JavaScript 1.6 到 1.8 功能,我建议使用可定制的jPaq库。这些功能是按照 Mozilla 建议的方式实现的。
我在caniuse.com上进行了检查,看起来所有浏览器都支持,foreach
除了Opera Mini支持信息为?Support unknow
. 如果您有兴趣,可以使用此链接检查浏览器对任何功能的支持。https://caniuse.com/?search=foreach