编写jQuery插件

  jQuery插件,其实就是通过jQuery的命名空间来调用的方法和函数。

  jQuery插件分为三种:

  1.通过对象来调用的插件 比如:var obj=$("#hello");obj.plg(); 通过jQuery.fun.extend()方法来拓展

  2.全局的插件,在jQuery的命名下调用的,比如:jQuery.trim() 通过jQuery.extend()方法来拓展,这个方法也用来设置默认参数

  3.选择器插件,拓展jQuery的选择器,比如:$(".a").color(red)选择红色的并且class为.a的元素 通过jQuery.extend()方法来拓展

  javascript中的闭包:

  描述:允许使用内部函数(函数的定义和函数表达式位于另一个函数体内),而且,这些内部函数可以访问它所在的

  外部函数所有的局部变量、参数和声明的其他内部函数,当其中一个这样的内部函数在包含它们的外部函数之外被调用时,

  就会形成闭包。比如:

 

1
2
3
4
5
6
7
8
function a(){
    var x=1;
    var b=function(){
        y=x;
        return y;
    }
}
var c=b


  而jQuery插件就是利用了闭包的特性,既可以内部临时变量影响全局空间,又可以在插件的内部访问外部空间的变量,例如jQuery,$

 

  常见的插件形式为:

 

1
2
3
(function(){
/*这里是实现代码*/
})();

  也可以是是这样

 

 

1
2
3
4
5
6
7
8
9
10
;(function($){
var foo;//局部变量
var bar=function(){
    /*
        匿名函数内部的函数都可以访问foo,即便在匿名函数的外部调用bar,也可以访问foo,但是在匿名函数外面
        直接访问foo是做不到的
    */
    $.BAR=bar;//让匿名函数的内部函数bar()逃逸到全局可访问空间,这样就可以通过jQuery.BAR()来访问内部函数bar()
}
})(jQuery);
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。