锋利的jQuery-7--编写插件基础知识

插件的基本要点:

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);
原文地址:https://www.cnblogs.com/leezhxing/p/4076410.html