本章介绍 JavaScript 库。首先解释了 shim 和 polyfill 是什么,它们是两种特殊的库。然后列出了一些核心库。最后,它指向了其他与库相关的资源。
Shim 和 polyfill 是将较新功能改造到较旧 JavaScript 引擎上的库:
Polyfill 是浏览器 API 的 shim,它通常会检查浏览器是否支持某个 API。如果不支持,polyfill 会安装自己的实现。这允许您在任何一种情况下都使用该 API。“Polyfill”一词来自一种家居装修产品;根据 Remy Sharp
Polyfilla 是一种英国产品,在美国被称为 Spackling Paste。考虑到这一点:将浏览器想象成一面有裂缝的墙。这些 [polyfill] 帮助我们抹平裂缝,给我们一面漂亮光滑的浏览器墙来使用。
示例包括
以下库已经相当成熟,并且接近语言本身。 了解它们是很有用的:
ECMAScript 国际化 API 是 一个标准的 JavaScript API,它有助于完成与国际化相关的任务:排序规则(对字符串进行排序和搜索)、数字格式化以及日期和时间格式化。本节简要概述并为您指出更多阅读材料。
该 API 的第一个版本提供以下服务
数字格式化。参数包括
日期和时间格式化。参数包括
大多数功能都通过全局变量 Intl
中的对象访问,但该 API 还增强了以下方法
String.prototype.localeCompare
Number.prototype.toLocaleString
Date.prototype.toLocaleString
Date.prototype.toLocaleDateString
Date.prototype.toLocaleTimeString
“ECMAScript 国际化 API”(EIA)的标准编号为 ECMA-402。它由 Ecma International 主持,该协会还主持 ECMAScript 语言规范 EMCA-262。这两个标准都由 TC39 维护。因此,EIA 尽可能地接近语言本身,但又不属于 ECMA-262 的一部分。该 API 被设计为可与 ECMAScript 5 和 ECMAScript 6 一起使用。一套一致性测试补充了该标准,并确保该 API 的各种实现是兼容的(ECMA-262 也有类似的测试套件)。
大多数现代浏览器已经支持它或正在支持它。David Storey 创建了一个详细的 兼容性表(指明哪些浏览器支持哪些语言环境等等)。
ECMAScript 国际化 API 的 规范 由 Norbert Lindenberg 编辑。它提供 PDF、HTML 和 EPUB 格式。此外,还有一些全面的介绍性文章
本节介绍 收集 JavaScript 资源信息的网站。这类目录有多种。
以下是 JavaScript 常规目录的列表
专业目录包括
显然,您始终可以直接浏览包管理器的注册表
CDN(内容分发网络)和 CDN 内容的目录包括
以下人员为本节做出了贡献:Kyle Simpson (@getify)、Gildas Lormeau (@check_ca)、Fredrik Sogaard (@fredrik_sogaard)、Gene Loparco (@gloparco)、Manuel Strehl (@m_strehl) 和 Elijah Manor (@elijahmanor)。