首頁 >web前端 >js教程 >avascript中的自執行匿名函數應用範例_javascript技巧

avascript中的自執行匿名函數應用範例_javascript技巧

WBOY
WBOY原創
2016-05-16 16:36:311252瀏覽

Javascript中的自執行匿名函數
格式:

(function(){ 
//代码 
})(); 

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

(function(arg){ 
alert(arg+100); 
})(20); 
// 这个例子返回120。 

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

(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')

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn