外掛的基本要點:
1.命名推薦:jquery.[外掛名].js,避免和其他js庫外掛混淆。
2.物件方法附加到:jQuery.fn上,全域性函式附加到:jQuery物件本身。
3.在外掛內部,this指向當前通過選擇器獲取的jQuery物件,非dom物件。
4.如果選擇器獲取多個元素,可通過this.each遍歷。
5.外掛應該返回jQuery物件,方便鏈式操作。
6.避免在外掛內部使用$別名,應該用完整的jQuery表示。可利用閉包來避免這個問題。
//為了更好的相容性,前邊加個分號,防止壓縮時其他js程式碼沒加分號
;(function($){ //此處將$作為匿名函式的形參傳入
//編寫程式碼
})(jQuery); //jQuery作為實參傳入,就可以在匿名函式內使用$
外掛中的閉包理解:
;(function($){
var foo = 1; //定義區域性變數,僅匿名函式內部可以訪問
var bar = function(){
/* 在匿名函式內部的函式都能訪問foo,即便是在匿名函式的外部呼叫bar函式的時候,也可以在bar()內部訪問到foo,但在匿名函式的外部直接訪問foo是做不到的 */
}
/* 下邊的函式讓匿名函式內部的函式bar()逃逸到全域性可訪問的範圍,這樣就可以在匿名函式的外部通過jQuery.BAR()來訪問內部定義的函式bar(),並且內部函式bar()也能訪問foo變數 */
$.BAR = bar();
})(jQuery);