码迷,mamicode.com
首页 > Web开发 > 详细

jquery闭包概念

时间:2017-03-05 19:38:52      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:weight   css   创建   var   define   query   全局变量   转化   执行函数   

//闭包:有参数的加载事件(空参数形式)
(function($){
alert("123");
})(jQuery);

//有参数的加载事件
(function($){
alert($);
})(456);

 

(function($){
     $("div p").click(function(){alert("cssrain!")});
})(jQuery);            //一个闭包

 

这里面的$只是形参,但jquery是全局变量,所以不需要调用该函数就会自动执行,或者分两步

就是转化成正常的函数,先写函数,后调用。

如下所示
其实:
(function($){
     $("div p").click(。。。);
})(jQuery);   
就是等于
function tempFunction($){  //创建一个以$为形参的函数
     $("div p").click(....);
}
TempFunction(jQuery);         //传入实参jQuery执行函数.

 

$(function(cssrain){
     cssrain("div p").click(.... );
})(jQuery);            //一个闭包

 

闭包的基本写法:
$(function(){do someting})();
//这个你就理解为定义一个匿名函数并立即执行
带参数的话就这样:
$(function(形参){do someting})(实参);
另外
$(function(){var upc="i am upc"})();
alert(upc);
会提示undefined。
因为闭包后,里面的变量就相当于局部了。

闭包的好处:
不增加额外的全局变量,
执行过程中所有变量都是在匿名函数内部。

上面的例子不是很好,跟javascript的闭包有点混淆,但这确实也是jquery中的一种闭包。只不过经过jquery的加工罢了。

jquery闭包概念

标签:weight   css   创建   var   define   query   全局变量   转化   执行函数   

原文地址:http://www.cnblogs.com/boyhan/p/6506270.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!