Was ist das? (Funktion () {}) () [Duplizieren]

8
  

Mögliche Duplikate:
Was macht dieses JavaScript? Schnipsel bedeuten?
Position der Klammer für automatische Ausführung von anonymen JavaScript-Funktionen?

%Vor%

Was genau ist )() ?
Was passiert, wenn ich es in dieses ()) ändere?

%Vor%     
Derek 朕會功夫 21.07.2011, 22:45
quelle

8 Antworten

5

Dies deklariert eine anonyme Funktion und ruft sie sofort auf.

Das bedeutet, dass die Variablen, die die Funktion intern verwendet, nicht zum aktuellen Bereich hinzugefügt werden und Sie auch keinen Funktionsnamen zum aktuellen Bereich hinzufügen.

Es ist wichtig zu beachten, dass die Klammern, die die Funktionsdeklaration umgeben, nicht sind. Wenn Sie diese entfernen, erhalten Sie eine Fehlermeldung.

Schließlich können Sie Argumente auch an die anonyme Funktion übergeben, indem Sie die zusätzlichen Klammern verwenden, wie in

%Vor%

Siehe Ссылка

    
Explosion Pills 21.07.2011, 22:51
quelle
5

Sie sind gleich.

Es muss eine runde Klammer um die Funktionsdefinition oder um den Funktionsaufruf herum vorhanden sein, damit die JavaScript-Syntax gültig ist, aber es spielt keine Rolle, welche Sie verwenden.

Um zu demonstrieren, was es tut, wäre eine benannte Funktion:

%Vor%     
Guffa 21.07.2011 22:49
quelle
3

Es ist eine anonyme Funktion, die sofort aufgerufen wird. Die () ruft die Funktion auf und es gibt (und) die ganze Sache.

%Vor%     
JohnKlehm 21.07.2011 22:49
quelle
2

Der erste umschließt einfach die Funktion in ( ) , so dass sie die Funktion sofort mit dem ()

aufrufen kann %Vor%

Alerts Hallo, während

%Vor%

Tut nichts, da Ihre Funktion nie ausgeführt wird.

    
Paulpro 21.07.2011 22:48
quelle
1

Das ist einfach eine anonyme Funktion. Die () parens rufen die Funktion sofort auf, anstatt darauf zu warten, dass sie woanders aufgerufen wird.

    
GarlicFries 21.07.2011 22:49
quelle
1

Es ist eine sofort aufgerufene anonyme Funktion. ()) würde nicht funktionieren, weil Sie () um die Funktion benötigen, bevor Sie sie mit () aufrufen können.

Sorta entspricht:

%Vor%     
John Stimac 21.07.2011 22:48
quelle
0

Hiermit wird eine anonyme Funktion deklariert und dann sofort ausgeführt. Dies ist bei der Erstellung von Bereichsvariablen üblich.

    
vcsjones 21.07.2011 22:49
quelle
0

In JavaScript ist die Funktionsdefinition ein Literal - was bedeutet, dass es sich um einen Ausdruck mit dem Wert des Objekts Function handelt.

Wenn Sie () unmittelbar danach einfügen, rufen Sie die Funktion direkt nach der Definition auf.

    
Ondra Žižka 21.07.2011 22:56
quelle

Tags und Links