前端“黑话”polyfill,"黑话"polyfill

前端“黑话”polyfill,”黑话”polyfill

前言

当Web前端开发这个日新月异的时日,总是待阅读有风靡的英文技术博客来跟达到技术的进化之潮流。而有时候会遇上有些比频繁的“黑话”,在社区内或者曾经是红的“共同语言”,而若沾的丢就偏偏看无晓得。就如现在几乎所有中国总人口且理解duang是什么事物,但是一个刚学中文的洋人看到下或者就一头雾水。

图片 1

黑话也是若上之,本文收集各种Web开发之暗语。这里先介绍两单。

Polyfill

Polyfill或者Polyfiller,是英国Web开发者 Remy
Sharp 在咖啡店蹲坑的当儿拍首往出来的。当时客思念就此一个乐章来形容”用JavaScript(或者Flash之类的哟鬼)来贯彻有浏览器不支持的原生API”。Shim这个既局部词汇第一时间出本客的脑际里。但是他回头想了瞬间Shim一般生投机的API,而未是不过实现原生不支持的API。苦思冥想一直怀念不至相当的单词,于是他一怒之下造了一个单词Polyfill。除了他协调因此是词以外,他还让另外开发者用。随着他以各种Web会议发言和他写的书写《Introducing
HTML5》中数提到这词,大家之所以了还觉得怪好,就一起来用。

Polyfill的纯正意思呢:用以落实浏览器并无支持的原生API的代码。

比如说,querySelectorAll是群现代浏览器都支持之原生Web
API,但是有些古老的浏览器并无支持,那么只要有人形容了仓库,只要用了之库房,
你就可于古老的浏览器中用document.querySelectorAll,使用办法以及现代浏览器原生API无异。那么这个库房就可称Polyfill或者Polyfiller。
吓,那么问题虽来了。jQuery是匪是一个Polyfill?答案是No。因为其并无是贯彻部分标准的原生API,而是包装了祥和API。一个Polyfill是去平新一直浏览器 标准原生API 之间的差距之同栽包装,而未是促成自己之API。
早就有些有些Polyfill,如 Polymer 是叫初的浏览器也能为此上 HTML5 Web
Component 的一个Polyfill。FlashCanvas是为此Flash实现之可以为不支持Canvas
API的浏览器为能用上Canvas的Polyfill。
 

Shim和Polyfill

每当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).

http://www.bkjia.com/HTML5/1284175.htmlwww.bkjia.comtruehttp://www.bkjia.com/HTML5/1284175.htmlTechArticle前端“黑话”polyfill,"黑话"polyfill 前言 在
Web前端
开发之日新月异的一时,总是要看有行的英文技术博客来跟达到技巧之腾飞之潮…

相关文章