shim和polyfill 区别解释

polyfill 是 shim 的一种。
shim 是将不同 api 封装成一种,比如 jQuery 的 $.ajax 封装了 XMLHttpRequest 和 IE 用 ActiveXObject 方式创建 xhr 对象;
polyfill 特指 shim 成的 api 是遵循标准的,其典型做法是在IE浏览器中增加 window.XMLHttpRequest ,内部实现使用 ActiveXObject。
在实际中为了方便做对比,会特指 shim 的 api 不是遵循标准的,而是自己设计的。
 
 
原文地址:https://www.cnblogs.com/liutie1030/p/5049179.html