JavaScript兼容性库

4
有没有JavaScript库可以提供特定实现的向前兼容性?例如,这样一个库可以以可移植的方式提供JavaScript 1.6中的功能,以适应各种浏览器。它应该在可用时利用该功能的本地支持。
一些框架(如JQuery或Prototype)提供与较新版本JS中相同的功能,但我想减少使用的库的大小并确保完全符合标准或已发布版本。
是否存在这样的库?谷歌和维基百科对此话题没有太多说法。
2个回答

2
看起来有这样一个库:JavaScript标准库(JSL)。它声称尽可能为支持JS 1.2或更高版本的浏览器提供JS 1.6兼容性。
我没有使用过它,也不确定它的工作效果如何。文档用的是简略的英语;这可能表明它没有被广泛使用,否则某个人现在应该已经纠正了它。
为了增加混淆,该网站链接到位于不同网站上的JSL修订版,其功能列表指出它提供主页列出的子集功能。
作者在这篇博客文章中对这个库和涉及的一般概念进行了更多的阐述。

1
例如,这样的库可以以可移植的方式提供JavaScript 1.6中存在的功能,适用于各种浏览器。当可用时,它应该利用对该功能的本地支持。
这基本上就是框架所做的事情,并且做得很好(尽管它们关闭的大多数兼容性差距与DOM和CSS有关)。我不知道是否存在一个专注于前向兼容性的通用框架。不确定是否可以完全存在,因为查看维基百科文章,任何版本中的许多改进都是非常难以在语言的旧版本中模拟的构造和行为(例如let,表达式闭包...)

1
好观点。我也想到过,但我认为JS 1.6可能没有指定任何这样的功能。然而,在进行了更多的研究之后,我意识到我错了。参考链接 - intuited
@intuit 不错的发现!一些功能可能可以在旧版本中模拟(虽然我不想成为负责实施的人:D),但是一些东西(特别是数组和字符串泛型)是无法模拟的。 - Pekka
看起来 for each 语法肯定不适合库实现。对我来说,似乎可以通过覆盖各种数组和字符串原型方法来实现数组和字符串泛型..但是这是我第一次真正了解它;我一直编写1.5版本的JS,甚至避免学习新版本的功能。 - intuited

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接