2016-05-31 5 views
1

So hatte ich ein Interview, wo ich den Zweck zu erklären und den Aufruf einer Funktion immideately zu fragen, und ich konnte sie nicht beantworten, das heißt:javascript: Grund für die Erklärung und immedieatly Inline-Funktion aufrufen

(function(){ 

    // code 
})(); 

Was der Grund dafür?

+0

Encapsulation . Die Funktion hat ihren eigenen Umfang, der von außen nicht sichtbar ist. – Georgy

+0

Im Allgemeinen ist es eine gute Vorgehensweise, den globalen Geltungsbereich nicht zu verschmutzen und alle Verweise im Rahmen der Funktion – Vijaykrish93

+0

Mögliche Duplikate von [Was ist das Konstrukt (function() {})() in JavaScript?] (Http: // stackoverflow .com/questions/8228281/Was ist das Funktion-Konstrukt-in-Javascript? –

Antwort

3

Object-Oriented JavaScript - Second Edition: Eine gute Anwendung der sofortigen (Selbst rufenden) anonyme Funktionen ist, wenn Sie einige Arbeit ohne die Schaffung zusätzlichen globalen Variablen zu tun haben wollen. Ein Nachteil ist natürlich, dass Sie die gleiche Funktion nicht zweimal ausführen können. Dies macht sofortige Funktionen am besten geeignet für einmalige oder Initialisierungsaufgaben.

Die Syntax sieht zunächst ein wenig gruselig aus, aber Sie müssen einfach einen Funktionsausdruck in Klammern setzen, gefolgt von einem anderen Satz der Klammern. Der zweite Satz sagt „execute jetzt“ und ist auch der Ort alle Argumente zu setzen, dass Ihre anonyme Funktion übernehmen könnte:

(function() { 

})(); 

oder

(function() { 

}()); 

sind die gleichen:

Verwandte Themen