Was bedeutet Funktion in Javascript? [Duplikat]

8

Es tut mir leid, diese Funktion zu veröffentlichen, aber die! -Funktion ist nicht googlefähig und ich habe sie nicht in meinem JavaScript-Code gefunden.

So benutzt Twitter es:

%Vor%

von Ссылка

    
Barka 13.02.2012, 20:09
quelle

3 Antworten

21

Es ist eine Abkürzung oder Alternative von selbstaufrufenden anonymen Funktion :

%Vor%

Kann geschrieben werden:

%Vor%

Sie können auch + anstelle von ! verwenden.

Wenn du es einfach getan hast:

%Vor%

Das wird zu Problemen führen, deshalb müssen Sie ! davor einfügen, was die Funktionsdeklaration in Funktionsausdruck .

Artikel zitieren, Abschnitt 12.4:

  

Ein ExpressionStatement kann nicht mit dem Schlüsselwort function starten, weil   das könnte es mit einer FunctionDeclaration mehrdeutig machen.

Um das Konzept besser zu verstehen, sollten Sie Folgendes überprüfen:

Sarfraz 13.02.2012, 20:11
quelle
2

Sie negieren das Ergebnis, nicht die Funktion selbst:

%Vor%

In Wirklichkeit ist es eine leicht komprimierte Form von:

%Vor%

, da 1 Zeichen weniger benötigt wird. Der Grund dafür ist, dass Sie eine Funktionsdeklaration nicht direkt aufrufen können, z. Das ist ungültig:

%Vor%

aber das Hinzufügen der ! am Anfang verwandelt es in eine Funktion expression und macht es funktioniert.

    
Mark Kahn 13.02.2012 20:10
quelle
2

Normalerweise wird es verwendet, um eine Eigenart in der JavaScript-Syntax zu umgehen. Dies führt zu einem Syntaxfehler:

%Vor%

Es wird als Funktionsdeklaration (wie function foo () {} ) statt als Funktionsausdruck gelesen. Also fügt das hinzu! davor oder in Klammern, zwingt den Parser zu verstehen, dass es ein Ausdruck ist.

    
Twisol 13.02.2012 20:12
quelle

Tags und Links