關(guān)于 jquery 插件寫法
;(function($,window,document,undefined){
})(jQuery,window,document);
1、代碼最前面的分號摄杂,可以防止多個文件壓縮合并以為其他文件最后一行語句沒加分號左腔,而引起合并后的語法錯誤。
2懂拾、匿名函數(shù)(function(){})();:由于Javascript執(zhí)行表達式是從圓括號里面到外面煤禽,所以可以用圓括號強制執(zhí)行聲明的函數(shù)。避免函數(shù)體內(nèi)和外部的變量沖突岖赋。
3檬果、$實參:$是jquery的簡寫,很多方法和類庫也使用$,這里$接受jQuery對象唐断,也是為了避免$變量沖突选脊,保證插件可以正常運行。
4脸甘、window, document實參分別接受window, document對象恳啥,window, document對象都是全局環(huán)境下的,而在函數(shù)體內(nèi)的window, document其實是局部變量丹诀,不是全局的window, document對象钝的。這樣做有個好處就是可以提高性能翁垂,減少作用域鏈的查詢時間,如果你在函數(shù)體內(nèi)需要多次調(diào)用window 或 document對象硝桩,這樣把window 或 document對象當作參數(shù)傳進去沿猜,這樣做是非常有必要的。當然如果你的插件用不到這兩個對象亿柑,那么就不用傳遞這兩個參數(shù)了邢疙。
5、最后剩下一個undefined形參了望薄,那么這個形參是干什么用的呢疟游,看起來是有點多余。undefined在老一輩的瀏覽器是不被支持的痕支,直接使用會報錯颁虐,js框架要考慮到兼容性,因此增加一個形參undefined
轉(zhuǎn)自【B5教程網(wǎng)】:http://www.bcty365.com/content-47-805-1.html