polyfill、ponyfill、prollyfill 简介

516 阅读1分钟

①polyfill 字面意思是使用聚合物进行填充,有补窟窿的意味在里面,就好像有四面墙,有一面墙有个窟窿,使用东西把这个窟窿补上,让四面墙看起来一样,整整齐齐的就是 polyfill;
②同样是让修补墙壁,ponyfill 的策略则是另起炉灶,不会在原有的墙壁上修补,而是重新建一面墙,保证原来的墙壁还是那么原始纯净无污染;
③Ponyfill 总是避免使用原生 API;
④有些原生 API 完全没法模拟,此时只能使用 Ponyfill 策略;
⑤有些原生 API 规范还没稳定,或者处于快速迭代中,或者是浏览器部分支持,此时走 polyfill 策略可能会有问题,影响未来策略;
⑥有时候可能会通过对象存在与否判断浏览器,polyfill 可能会影响逻辑;
⑦为了避免全局命名的污染,Ponyfill 都是建议采用独立的模块化的方式开发与调用的;
⑧Prollyfill 本质上就是 Polyfill,只是 Polyfill 的这个 API 还没有成为标准 API,但是已经约定俗成,或者呼声很高,或者官方已经开始考虑,也就是你知道以后会有这个 API,但是目前浏览器都还没有支持的 API 的实现;
(参考:www.zhangxinxu.com/wordpress/2…