萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> avascript中的自執行匿名函數應用示例

avascript中的自執行匿名函數應用示例

 Javascript中的自執行匿名函數

格式:

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

解釋:這是相當優雅的代碼(如果你首次看見可能會一頭霧水:)),包圍函數(function(){})的第一對括號向腳本返回未命名的函數,隨後一對空括號立即執行返回的未命名函數,括號內為匿名函數的參數。
來個帶參數的例子:

1 2 3 4 (function(arg){  alert(arg+100);  })(20);  // 這個例子返回120。

重要用途:可以用它創建命名空間,只要把自己所有的代碼都寫在這個特殊的函數包裝內,那麼外部就不能訪問,除非你允許

1 2 3 4 5 6 7 8 9 10 (function(){  function $(id){  return document.getElementById(id);  }  function __addClass(id,className,classValue){  $(id).style.className=classValue;  }  window['mySpace']={};  window['mySpace']['addClass']=__addClass;  })();

上面的例子就可以用這種偽命名空間封裝並保護自己的所有函數、對象和變量。而且,由於它們位於同一個函數中,所以可以互相引用。為了對受保護的代碼進行全局化,隨後的一對括號告訴浏覽器立即執行返回的匿名函數,而且在執行期間將__addClass()賦值給了window的一個方法,這樣在外部只能執行addClass而__addClass被保護起來了。我可以這樣調用它:mySpace.addClass('oneId','font-width','bold')

copyright © 萬盛學電腦網 all rights reserved