什么是 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 检查以查看是否支持这些方法。 如果它们受支持 – 不做任何事情,如果不支持 – 实现它们。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。