博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shim和polyfill有什么区别
阅读量:5142 次
发布时间:2019-06-13

本文共 616 字,大约阅读时间需要 2 分钟。

在JavaScript的世界里,有两个词经常被提到,shim和polyfill.它们指的都是什么,又有什么区别?

一个shim是一个库,它将一个新的API引入到一个旧的环境中,而且仅靠旧环境中已有的手段实现
一个polyfill就是一个用在浏览器API上的shim.我们通常的做法是先检查当前浏览器是否支持某个API,
如果不支持的话就加载对应的polyfill.然后新旧浏览器就都可以使用这个API了.术语polyfill来自于一个
家装产品Polyfilla:
Polyfilla是一个英国产品,在美国称之为Spackling Paste(译者注:刮墙的,在中国称为腻子).记住这一点就行:
把旧的浏览器想象成为一面有了裂缝的墙.这些[polyfills]会帮助我们把这面墙的裂缝抹平,还我们一个更好的光滑的墙壁(浏览器)
Paul Irish发布过一个Polyfills的总结页面“HTML5 Cross Browser Polyfills”.es5-shim是一个shim(而不是polyfill)的例子,
它在ECMAScript 3的引擎上实现了ECMAScript 5的新特性,而且在Node.js上和在浏览器上有完全相同的表现
(因为它能在Node.js上使用,不光浏览器上,所以它不是polyfill).

转载于:https://www.cnblogs.com/smart-girl/p/11048749.html

你可能感兴趣的文章
【bzoj 1407】【Noi2002】Savage
查看>>
循序渐进之Spring AOP(2) - 基本概念
查看>>
C#的Lazy与LazyInitializer
查看>>
mysql设置远程访问之后 远程访问非常缓慢 解决办法!
查看>>
短信发送验证码功能
查看>>
NYOJ 212 K尾相等数
查看>>
transform属性
查看>>
BZOJ 3203 凸包+三分
查看>>
列表 -- 增删改查(切片)
查看>>
【模板】堆排序
查看>>
DNS练习之正向解析
查看>>
[Leetcode][JAVA] LRU Cache
查看>>
硬件UDP读数AsynUdpClient
查看>>
本周内容
查看>>
通过Jenkins调用自动部署war包及jar包到服务器上的Shell脚本
查看>>
docker 日志管理
查看>>
sublime dockerfile 语法高亮
查看>>
InputStream、InputStreamReader和Reader的关系
查看>>
js兼容公用方法
查看>>
如何将应用完美迁移至Android P版本
查看>>