1. 程式人生 > >插件裏面的閉包函數

插件裏面的閉包函數

通過 回收 eight 實例 font fun .html 安全 style

轉載:http://www.cnblogs.com/mmzuo-798/p/7275412.html

閉包的作用:1、保護函數內的變量安全;2、在內存中維持一個變量(javascript垃圾回收機制)。

利用閉包的特性,我們可以在既避免內部臨時變量影響全局空間,又可以在插件內部使用$符號作為jQuery的別名。常見的jQuery插件都是以下這種形式:

1 2 3 (function(){ /*編寫代碼*/ })();

首先定義一個匿名函數function(){/*編寫代碼*/},然後用括號括起來,最後通過()這個運算符來執行。可以傳遞參數進去,以供內部函數使用。 

1 2 3 4 //為了更好的兼容性,開始前有個分號 ;(function($){ //此處將$作為匿名函數的形參 /*編寫代碼,可以使用$作為jQuery的別名*/ })(jQuery); //將jQuery作為實參傳遞給匿名函數

  

插件閉包實例1:

1 2 3 4 5 6 ;(function(win){ win.Login = function(){     //code } Login.prototype = {
1 //code
1 2 3 4   } })(window);//傳入window對象

插件閉包實例2:

1 2 3 4 5 6 7 8 9 10 //單例模式插件 var Computer = (function(){ var Calculator = function(o){<br>    //code... <br>  }
Calculator.prototype = {<br>    //code... <br>  } return { calculator: function(o) { var Cal = new Calculator(o); } } })();

插件裏面的閉包函數