Heim >Web-Frontend >js-Tutorial >Geben Javascript-Funktionen immer einen Wert oder eine implizite Undefiniertheit zurück?
Hintergrund:
NetBeans, ein Code-Editor, generiert automatisch Kommentare für Javascript-Funktionen. Es enthält ein @returns-Tag mit dem Rückgabetyp {undefiniert}, auch wenn die Funktion keine explizite Return-Anweisung hat. Dies wirft die Frage auf, ob alle Javascript-Funktionen einen bestimmten Wert zurückgeben müssen.
Antwort:
Technisch ja:
Auch wenn es den Anschein hat, dass eine Funktion ohne explizite Return-Anweisung nichts zurückgibt, erfordert die Javascript-Engine selbst, dass jede Funktion einen Wert zurückgibt, um den Abschluss ihrer Ausführung anzuzeigen. Wenn keine Return-Anweisung vorhanden ist, gibt die Funktion implizit undefiniert zurück.
Expliziter Rückgabewert:
Die explizite Angabe eines Rückgabewerts, z. B. „return false“, ist nicht erforderlich, es sei denn Der zurückgegebene Wert soll verwendet werden. Mit anderen Worten: Die Return-False-Anweisung ist für Funktionen überflüssig, die keinen sinnvollen Wert zurückgeben müssen.
Impliziter Rückgabewert:
Funktionen ohne explizite Return-Anweisung implizit undefiniert zurückgeben. Dies ist offensichtlich, wenn ein IIFE (Immediately Invoked Function Expression) undefiniert zurückgibt, der Rückgabewert jedoch normalerweise ignoriert wird.
Warum müssen Funktionen zurückgegeben werden?
Bei einem Auf niedriger Ebene initiiert die Return-Anweisung einen Sprungbefehl. Wenn eine Funktion nichts zurückgibt, würde dies zu Unklarheiten hinsichtlich der nächsten aufzurufenden Funktion oder des nächsten Ereignishandlers führen.
Schlussfolgerung:
Javascript-Funktionen scheinen zwar zu funktionieren Ohne eine Return-Anweisung gibt die Javascript-Engine für solche Funktionen implizit undefiniert zurück. Daher ist das Hinzufügen einer Return-False-Anweisung nicht erforderlich, es sei denn, die Funktion erfordert einen bestimmten Rückgabewert.
Das obige ist der detaillierte Inhalt vonGeben Javascript-Funktionen immer einen Wert oder eine implizite Undefiniertheit zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!