Heim  >  Artikel  >  Web-Frontend  >  Wann sollte ich Klammern in JavaScript-Funktionsaufrufen „setTimeout' verwenden?

Wann sollte ich Klammern in JavaScript-Funktionsaufrufen „setTimeout' verwenden?

DDD
DDDOriginal
2024-11-23 04:34:21467Durchsuche

When Should I Use Parentheses in JavaScript `setTimeout` Function Calls?

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:

  • Ruft die Funktion myFunction auf , die die anonyme Funktion zurückgibt, die die Warnung anzeigt.
  • Setzt die zurückgegebene Funktion als Argument für setTimeout.

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!

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