什么是 Javascript Polyfill?

能够编写现代代码并运送到旧浏览器

What are Javascript Polyfills?

polyfill 是一段代码(通常是 Javascript 代码),用于为本身不支持它的旧浏览器提供现代功能。

例如 – 的 polyfillObject.assign必须提供与实际功能相同的功能,但是它需要 29 行代码:
Object.assign Polyfill

只包含你想要支持的浏览器的 polyfills

为了保持我们的 JavaScript 包很小,我们只想为我们想要支持的浏览器提供 polyfill,即 IE11 及更高版本。如果您不必支持 IE,那么您的捆绑包可能会小得多。

在执行之前检查该方法是否存在

在覆盖它之前,请始终检查您正在填充的方法是否存在。例如trim(),非常旧的 IE 版本不支持的方法:

if (typeof String.prototype.trim !== 'function') { String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g,'') } } > " zebra ".trim() // "zebra"

编写条件逻辑后,您可以在HTML文档中的代码之前运行一个脚本,并运行这些脚本if checks以查看是否支持这些方法。如果它们得到支持 – 什么都不做,如果它们不支持 – 实施它们。

发表评论