哪些浏览器/引擎已经支持 ES5 [严格]?
3 回答
所有主要的浏览器供应商或多或少都已经完全实现了 ES5 几年了(尽管 IE 9 不支持严格模式)。 kangax创建了这个兼容性表,表示主流浏览器和其他 JS 实现中存在的 ECMAScript 5 功能。它甚至会在您访问页面的浏览器中列出这些功能的可用性。但是,它不测试一致性。
Kris Kowal创建了es5-shim.js,它为符合 ES3 的实现提供了尽可能多的 ES5 功能。当然,并非一切皆有可能,但 shim 的目标是让代码优雅地降级。
AFAIK,ECMAScript 5 的唯一实现是BESEN。这有点令人失望,真的。BESEN 是由一个开发人员在短短几周内从头开始创建的。另一方面,谷歌、微软、苹果、Mozilla 和 Opera 以及他们所有的开发人员,他们所有的钱,在将近11 个月后都无法提供实施。尽管事实上他们有数十名开发人员,有一个已经工作的实现作为开始的基础,从第一天开始就是标准化过程的一部分(因此早在 BESEN 的作者做之前就可以访问规范),并且ES5 规范中的大部分特性都取自已经浏览器中的现有实现。
AFAIK, ECMAScript 5 中仅有的两个不属于 JavaScript 的特性是 Properties API 和 Strict Mode。
ecmascript wiki 的此页面包含指向正在进行的主要实现中剩余的错误的链接。