Enthüllung des Zwecks des Ausrufezeichens in einem Funktionsausdruck
In JavaScript wird beim Ausführen von Code ein Ausrufezeichen (!) angezeigt Eine Funktion kann einige Fragen aufwerfen. Schauen wir uns seine Funktionalität und seine Rolle in der Syntax genauer an.
Die Syntax von JavaScript schreibt vor, dass eine in der Form „function foo() {}“ deklarierte Funktion eine Funktionsdeklaration ist und zur Ausführung einen Aufruf erfordert. Durch die Vorverarbeitung einer Funktionsdeklaration mit einem Ausrufezeichen (!) wird diese jedoch in einen Funktionsausdruck umgewandelt, dem Klammern folgen können, um die Funktion sofort aufzurufen.
Der Code „!function foo() {}()“ " mag zunächst überflüssig erscheinen, da es eine Funktion deklariert, diese aber auch ausführt. Allerdings dient das Ausrufezeichen hier zwei Zwecken:
Obwohl es sich im Wesentlichen um einen syntaktischen Trick handelt, ermöglicht diese Technik eine präzise Syntax für sofort aufgerufene Funktionsausdrücke (IIFEs). Eine explizitere Form des Codes wäre: „(function(){})();“
Zuletzt wertet das Ausrufezeichen auch den Rückgabewert der Funktion aus und wandelt ihn in einen booleschen Wert um. Da IIFEs normalerweise keinen expliziten Wert zurückgeben, geben sie undefiniert zurück, was durch das Ausrufezeichen auf „true“ gesetzt wird. Dieses boolesche Ergebnis wird im Allgemeinen nicht verwendet.
Das obige ist der detaillierte Inhalt vonWas bewirkt das Ausrufezeichen (!) in einem JavaScript-Funktionsausdruck?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!