首頁>Club>
6
回覆列表
  • 1 # 新聞提供者三號

    在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).

  • 中秋節和大豐收的關聯?
  • NET framework 4.0安裝失敗解決辦法?