Heim >Web-Frontend >js-Tutorial >Funktionsdeklaration und Funktionsausdruck in JavaScript
Bisher haben wir nicht zwischen Funktionsdeklarationen und Funktionsausdrücken unterschieden. Tatsächlich behandelt der Parser Funktionsdeklarationen und Funktionsausdrücke nicht gleich, wenn er Daten in die Ausführungsumgebung lädt. Der Parser liest zunächst die Funktionsdeklaration und macht sie verfügbar (zugänglich), bevor er Code ausführt. Der Funktionsausdruck wird erst dann tatsächlich interpretiert und ausgeführt, wenn der Parser die Codezeile erreicht, in der er sich befindet. Das folgende Beispiel:
Der Code lautet wie folgt:
alert(sum(10,10)); function sum(num1,num2) { return num1+num2; }
Der obige Code kann korrekt ausgeführt werden, da er vor dem Start des Codes ausgeführt wird Beim Ausführen wurden die Parser-Funktionsdeklarationen gelesen und der Ausführungsumgebung durch einen Prozess namens „Funktionsdeklaration-Heben“ hinzugefügt. Beim Auswerten von Code deklariert die JavaScript-Engine beim ersten Durchgang Funktionen und platziert sie oben im Quellbaum. Selbst wenn also der Code, der die Funktion deklariert, hinter dem Code liegt, der sie aufruft, kann die JavaScript-Engine die Funktionsdeklaration an die Spitze heben. Wenn, wie im folgenden Beispiel gezeigt, die obige Funktionsdeklaration in einen äquivalenten Funktionsausdruck geändert wird, tritt bei der Ausführung ein Fehler auf.
Der Code lautet wie folgt:
alert(sum(10,10)); var sum=function(num1,num2) { return num1+num2; };
Mit Ausnahme der Tatsache, dass während der Deklaration über Variablen auf die Funktion zugegriffen werden kann, sind die Syntax der Funktionsdeklaration und des Funktionsausdrucks tatsächlich gleichwertig . von.
Hinweis: Sie können die Funktionsdeklaration und den Funktionsausdruck auch gleichzeitig aufrufen, z. B. var sum=function sum(){}. Diese Syntax führt jedoch zu Fehlern in Safari.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für alle hilfreich sein, die Javascript lernen.
Weitere verwandte Tutorials finden Sie unter Javascript-Tutorial