Heim >Web-Frontend >js-Tutorial >Wann sollten Klammern mit JavaScript-Funktionsreferenzen verwendet werden?

Wann sollten Klammern mit JavaScript-Funktionsreferenzen verwendet werden?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-05 10:27:13618Durchsuche

When to Use Parentheses with JavaScript Function References?

Wann sind Klammern zu verwenden und wann nicht?

In JavaScript ist es wichtig zu verstehen, wann Klammern verwendet werden sollten und wann nicht, insbesondere bei Funktionen Referenzen. Betrachten Sie den folgenden Code:

var myFunction = function() {
   setTimeout(myFunction, 1000);
}
myFunction();

Warum benötigt der Funktionsaufruf in setTimeout keine Klammern, während dies in der letzten Zeile der Fall ist?

Kurzfassung

  • myFunction referenziert die Funktion
  • myFunction() ruft die auf Funktion

Detaillierte Erklärung

setTimeout akzeptiert eine Funktionsreferenz als Argument. In der ersten Zeile übergibt setTimeout(myFunction, 1000) die Funktionsreferenz ohne Klammern, da eine Referenz erwartet wird.

In der letzten Zeile ruft myFunction() jedoch tatsächlich die Funktion auf. Um eine Funktion aufzurufen, verwenden wir Klammern, um sie auszuführen. Daher führt myFunction() die Funktion aus und erfordert daher Klammern.

Ausnahme

Es kann Fälle geben, in denen setTimeout(myFunction(), 1000) angemessen ist, wie z wenn myFunction() eine Funktion zurückgibt. Zum Beispiel:

function myFunction() {
    return function() {
        alert("ohai")
    }
}

// Or

const myFunction = () => () => alert("ohai")

In diesem Fall setTimeout(myFunction(), 1000):

  • Ruft die äußere Funktion myFunction auf
  • Erhält den Rückgabewert, Das ist eine innere Funktion
  • Übergibt die innere Funktion als Argument an setTimeout

Dies führt zu einer Warnung jede Sekunde.

Fazit

Für effektives JavaScript ist es wichtig, den Zweck von Klammern in Funktionsreferenzen zu verstehen Programmierung. Wenn Sie bedenken, dass Klammern einen Funktionsaufruf anzeigen, können Sie sie korrekt verwenden, um bei Bedarf Funktionen aufzurufen oder Funktionsreferenzen zu übergeben.

Das obige ist der detaillierte Inhalt vonWann sollten Klammern mit JavaScript-Funktionsreferenzen verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn