日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

前端“黑话”polyfill

發布時間:2023/12/10 HTML 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前端“黑话”polyfill 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Web前端開發這個日新月異的時代,總是需要閱讀一些最新的英文技術博客來跟上技術的發展的潮流。而有時候會遇到一些比較高頻的黑話,在社區里面可能已經是人人皆知的共同語言,而你接觸的少就偏偏看不懂。就像現在幾乎所有中國人都知道duang是什么東西,但是一個剛學中文的外國人看到以后可能就一頭霧水。



黑話也是要學習的,本文收集各種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).

轉載于:https://www.cnblogs.com/shsxt/p/8277618.html

總結

以上是生活随笔為你收集整理的前端“黑话”polyfill的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。