Heim > Web-Frontend > js-Tutorial > Warum wird meine JavaScript-Funktion „setTimeout' sofort ausgeführt?

Warum wird meine JavaScript-Funktion „setTimeout' sofort ausgeführt?

Mary-Kate Olsen
Freigeben: 2024-12-16 11:07:10
Original
350 Leute haben es durchsucht

Why Does My JavaScript `setTimeout` Function Execute Immediately?

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);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage