hackcat 2013-12-18
demo中的代码,需要jquery库文件支持
//闭包特性, //1. 避免内部临时变量影响全局空间, //2. 插件内部继续使用$作为jquery别名 /** 定义一个匿名函数--闭包 **/ ;(function($){//$作为匿名函数的参数 //这里编写插件代码,可以继续使用$作为jquery的别名 /** 定义一个局部变量foo,仅函数内部可以访问,外部无法访问 --利用闭包特性,可以避免内部临时变量影响全局空间,又可以再插件内部继续使用$作为jquery的别名 --独立,有关联,且无污染 **/ var foo; var bar = function(){ foo="aa"; alert(foo); /** 1.匿名函数内部的函数都可以访问foo 2.匿名函数的外部调用bar()的时候,也可以再bar()内部访问到foo,但是在匿名函数外部直接访问foo是不可以的 **/ } /** 功能:扩展匿名函数内的私有函数bar()到全局可访问范围 调用:在匿名函数外通过jQuery.BAR()来访问闭包内定义的函数bar(),且,bar()必然是可以访问foo私有变量的 **/ $.BAR=bar; })(jQuery);//将jquery作为实参传递给匿名函数 $(function(){ $.BAR(); }) /** 以上概念简单介绍了jquery的闭包概念,显然闭包不是几句话能讲清楚的 但对于插件的制作来说,只需要知道所有插件的代码必须放在下面的代码内部就可以了 ;(function(){ //填写jquery插件代码 })(jQuery); **/