Was ist der Unterschied zwischen Funktionsanweisung und Funktionsausdruck in JavaScript?

Die Funktionsanweisung wird geladen, bevor sie aufgerufen werden kann. Es ist nur eine Funktionserklärung. Wenn Sie eine Funktion aufrufen, bevor sie geladen ist, gibt der Browser einen Fehler aus.

  Spaß();  // Funktionsspaß ist undefiniert.
 function fun () {// etwas Code}

Funktionsausdruck wird aufgerufen, sobald der Kontrollfluss den Code erreicht.
Es gibt zwei Arten von Funktionsausdrücken:

  • Ausdruck für benannte Funktionen:
  var myFun = Funktion someFun () { 
     // etwas Code ..
 }
  • Anonymer Funktionsausdruck:
      var myFun = function () { 
            // etwas Code ..
     } 

Jetzt gibt es ein anderes Muster für den Aufruf des Funktionsausdrucks namens IIFE (Sofort aufgerufener Funktionsausdruck).

  var myIIFE = (fun () {
 // etwas Code
 Rückkehr { 
       Name: "Phil Dunphy", 
       Arbeitsfuntkion() { 
                 console.log (name + "ist ein Family guy .. Er ist ein Makler ..");
             }
 }	            
 }) ();

Es gibt 3 Schritte:

  • Erstellen Sie eine Funktion.
  • Führ es aus.
  • Zerstöre die Funktion.

Jetzt erstellt IIFE einen Abschluss. myIFFE.work hat weiterhin Zugriff auf den im Closure deklarierten Variablennamen.

Ein Funktionsausdruck ist sehr ähnlich und hat fast die gleiche Syntax wie eine Funktionsanweisung.

Die Funktionsanweisung deklariert die Funktion mit den angegebenen Parametern.

Ein Funktionsausdruck erzeugt einen Wert (die Funktion).

Eine Funktionsdeklaration (read: statement) führt zu einer Aktion – der Erstellung einer Variablen, deren Wert die Funktion ist. Außerdem kann nur ein Funktionsausdruck sofort aufgerufen werden, keine Funktionsdeklaration.

Der Hauptunterschied zwischen einem Funktionsausdruck und einer Funktionsanweisung ist der Funktionsname, der in Funktionsausdrücken weggelassen werden kann, um anonyme Funktionen zu erstellen.