Den Zweck des Ausrufezeichens in einem Funktionsausdruck enthüllen
In JavaScript ist beim Ausführen von Code ein Ausrufezeichen (!) aufgetreten 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.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3