jquery閉包概念


//閉包:有參數的加載事件(空參數形式)
(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的加工罷了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM