Heim >Web-Frontend >js-Tutorial >Wann sollten Klammern mit JavaScript-Funktionsreferenzen verwendet werden?
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
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):
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!