编写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); |