Heim > Artikel > Web-Frontend > Wann sollte ich Klammern in JavaScript-Funktionsaufrufen „setTimeout' verwenden?
Wann sind Klammern in Funktionsaufrufen zu verwenden?
Im bereitgestellten Codeausschnitt:
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
Der darin enthaltene Funktionsaufruf setTimeout benötigt keine Klammern, da setTimeout eine Funktionsreferenz als Argument erwartet. myFunction referenziert die Funktion.
Im Gegensatz dazu ruft myFunction() in der letzten Zeile die Funktion auf. Wenn die Klammern mit myFunction verwendet werden, ruft es die Funktion auf und führt ihren Code aus.
Ausnahme von der Regel
Unter bestimmten Umständen gilt setTimeout(myFunction(), 1000) könnte Sinn ergeben. Wenn myFunction() beispielsweise eine Funktion selbst zurückgibt:
function myFunction() { return function() { alert("ohai") } }
In diesem Fall führt setTimeout(myFunction(), 1000) Folgendes aus:
Dadurch wird jede Sekunde eine Warnung ausgelöst.
Das obige ist der detaillierte Inhalt vonWann sollte ich Klammern in JavaScript-Funktionsaufrufen „setTimeout' verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!