大家使用JavaScript,肯定对Polyfill不陌生,但仅仅是对这个单词不陌生,这玩意到底是啥,为什么需要它,原来我也很困惑,我还专门查了它的意思: 看完更是一脸懵逼,这东西跟我写JavaScript有毛关系。 其实,根据MDN的解释: polyfill是一段代码(通常是Web上的JavaScript),用于在原生不支持它的旧浏览器上提供现代功能。 例如,可以使用polyfill使用专有的IE的filter来模拟IE7中文本阴影的功能,或者通过使用JavaScript动态调整样式或您需要的任何其他内容来模拟rem单位或媒体查询。 然而,API的原生实现可以比polyfill做更多的事情并且速度更快。所以尽量不要使用Polyfill,尤其是在IE死掉的今天。 我们来看一个例子: Math。trunc(n)是一个截断数字小数部分的函数,例如Math。trunc(1。23)返回1 在一些(非常过时的)浏览器JavaScript引擎中,没有Math。trunc,所以这样的代码会失败。所以,我们需要的更新添加新功能的脚本称为polyfill。它填补了空白并添加了缺失的实现。对于这种特殊情况,Math。trunc的polyfill是一个实现它的脚本,如下所示: 这就是最简单的Polyfill实现。 感谢阅读,欢迎关注!