2012-02-15 34 views
2

浏览Mozilla JavaScript网站,我发现JavaScript 1.8有很多很棒的功能。在大多数情况下,它可以添加代码来扩展基本类型的原型,以避免在用户的浏览器中实现此功能。是否有可用于添加所有这些功能的库,因此可以在代码中自由使用JavaScript 1.8?有没有在所有浏览器中创建JavaScript 1.8兼容性的库?

+0

我不知道有没有尝试过的库,但我知道有些功能无法在类似的生成器表达式中重写或原型化,因为它们具有全新的语法('yield'关键字)。 – nwellcome 2012-02-15 17:32:29

+0

我知道一个库不能添加新的语法,并且我不能使用“let”关键字。但是许多功能都可以实现。所以sirhc的回答是我正在寻找的那个。 – Joe 2012-02-15 21:03:22

回答

2

您可能正在寻找垫片。
退房ES5-垫片:https://github.com/kriskowal/es5-shim/

Modernizr的具有替代polyfills或垫片相当详尽的列表(维基)(ECMAScript的5下寻找你的需求): https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills

而且,不是所有的功能可以由垫片或polyfill提供。您可能会遇到问题(请记住首先搜索并阅读自述文件)以获取您需要但未提供的功能,并且开发人员可能会告诉您该功能是否无效。

+0

是的,这就是我正在寻找的! – Joe 2012-02-15 21:07:10

2

由于这个版本有很多的语法差异(罗布W¯¯提到),只有两种办法可以做到这一点

  • 有人将不得不使用JavaScript编写一个JS解释,这将是很好的可怕慢。
  • 编写一个将JavaScript 1.8转换为EcmaScript的服务器端编译器。

不,那里没有一个。