什么是 JavaScript Polyfill?

能够编写现代代码并发布到旧浏览器

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

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

仅包含想要支持的浏览器的 polyfill

为了让我们的 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 检查以查看是否支持这些方法。 如果它们受支持 – 不做任何事情,如果不支持 – 实现它们。

免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » 什么是 JavaScript Polyfill?