Heim >Web-Frontend >js-Tutorial >Warum wird meine JavaScript-Funktion „setTimeout' sofort ausgeführt?
Grundlegendes zur Ausführung der setTimeout-Funktion
In JavaScript benötigt die setTimeout-Funktion zwei Argumente: eine auszuführende Funktion und eine Verzögerung in Millisekunden. Entwickler stoßen jedoch häufig auf ein Problem, bei dem ihre Funktionen sofort ausgeführt werden, anstatt auf die angegebene Verzögerung zu warten.
Problembeschreibung
Beim Versuch, setTimeout zu verwenden, wird die Funktion ausgeführt wird sofort ausgeführt, obwohl eine Verzögerung von 2 Sekunden (2000 Millisekunden) angegeben wurde. Der folgende Code veranschaulicht dieses Problem:
setTimeout(testfunction(), 2000);
Lösung
Das Problem entsteht durch die falsche Verwendung von Klammern beim Aufruf der Funktion. Im bereitgestellten Code wird testfunction() sofort mit Klammern aufgerufen, was zu seiner Ausführung vor der setTimeout-Verzögerung führt.
Um dieses Problem zu beheben, sollten die Klammern aus dem Funktionsaufruf entfernt werden. Stattdessen sollte der Funktionsname ohne Klammern wie unten gezeigt an setTimeout übergeben werden:
setTimeout(testFunction, 2000);
Beachten Sie, dass das Entfernen der Klammern verhindert, dass die Funktion sofort aufgerufen wird, sodass die setTimeout-Verzögerung wirksam wird. Dadurch wird sichergestellt, dass die Funktion nach dem angegebenen Zeitintervall ausgeführt wird.
Das obige ist der detaillierte Inhalt vonWarum wird meine JavaScript-Funktion „setTimeout' sofort ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!