Heim  >  Artikel  >  Web-Frontend  >  Beispiel für eine selbstausführende anonyme Funktionsanwendung in avascript_javascript-Kenntnissen

Beispiel für eine selbstausführende anonyme Funktionsanwendung in avascript_javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 16:36:311224Durchsuche

Selbstausführende anonyme Funktion in Javascript
Format:

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

Erklärung: Dies ist ein recht eleganter Code (Sie könnten verwirrt sein, wenn Sie ihn zum ersten Mal sehen :)). Das erste Klammerpaar um die Funktion (function(){}) gibt eine unbenannte Funktion an das Skript zurück. und das folgende Paar leere Klammern führen die zurückgegebene unbenannte Funktion sofort aus, und die Parameter in den Klammern sind die Parameter der anonymen Funktion.
Nehmen wir ein Beispiel mit Parametern:

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

Wichtige Verwendung: Sie können damit einen Namespace erstellen, solange Sie Ihren gesamten Code in diesen speziellen Funktions-Wrapper schreiben, ist er von außen nicht zugänglich, es sei denn, Sie erlauben dies.

(function(){ 
function $(id){ 
return document.getElementById(id); 
} 
function __addClass(id,className,classValue){ 
$(id).style.className=classValue; 
} 
window['mySpace']={}; 
window['mySpace']['addClass']=__addClass; 
})();

Das obige Beispiel kann diesen Pseudo-Namespace verwenden, um alle seine Funktionen, Objekte und Variablen zu kapseln und zu schützen. Und da sie dieselbe Funktion haben, können sie aufeinander verweisen. Um den geschützten Code zu globalisieren, weist das nachfolgende Klammerpaar den Browser an, die zurückgegebene anonyme Funktion sofort auszuführen und während der Ausführung __addClass() einer Methode von window zuzuweisen, sodass nur addClass extern ausgeführt werden kann. Ich kann es so nennen: mySpace.addClass('oneId','font-width','bold')

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn