前端名词收集
收集于互聯網 update at 2016年10月02日19:40:25
?
IIFE ("Immediately Invoked Function Expression")
(function(param){
})(params);
?
?
shim和polyfill
shim的意思是在一個老(舊)環境中模擬出一個新API,有時也叫做shiv,例如著名的html5shiv庫。
polyfill的意思和shim差不多,2010年10月份Remy Sharp引進了這個概念,一個polyfill是一段代碼或插件,用來提供瀏覽器不能提供的功能。程序庫先檢查瀏覽器是否支持某個API,如果不支持則加載對應的polyfill。
polyfill這個詞最早來自居室裝修領域,是一個英國產品,在美國稱為Spackling Paste(刮墻用的,Spackle是美國抹墻粉的一個品牌。在中國稱為膩子或填泥,膩子英文是putty,而填泥英文是filler)。可以這樣理解:把舊的瀏覽器想象成一面有了裂痕的墻,這些polyfill會幫助我們把這面墻的裂痕抹平,桓我們一個光滑的墻壁。
shim的概念要比polyfill更大一些,可以將polyfill理解為專門兼容瀏覽器API的shim。
Remy這樣幫我們理解polyfill:
如果瀏覽器X支持標準規定的功能,那么polyfill可以讓瀏覽器Y的行為與瀏覽器X一樣。有人給Remy留言說,為什么不干脆美國化,把這種腳本稱為Spackle?Remy答曰:因為我是英國人。 ;-)
參考
[譯] shim和polyfill有什么區別
?
?
轉載于:https://www.cnblogs.com/iceJava/p/5927971.html
總結
- 上一篇: 程序员之工具杂烩(一)
- 下一篇: noip2011提高组day1+day2