Maison > interface Web > js tutoriel > Pourquoi ma fonction JavaScript « setTimeout » s'exécute-t-elle immédiatement ?

Pourquoi ma fonction JavaScript « setTimeout » s'exécute-t-elle immédiatement ?

Mary-Kate Olsen
Libérer: 2024-12-16 11:07:10
original
350 Les gens l'ont consulté

Why Does My JavaScript `setTimeout` Function Execute Immediately?

Comprendre l'exécution de la fonction setTimeout

En JavaScript, la fonction setTimeout prend deux arguments : une fonction à exécuter et un délai en millisecondes. Cependant, les développeurs rencontrent généralement un problème où leurs fonctions s'exécutent immédiatement au lieu d'attendre le délai spécifié.

Énoncé du problème

Lorsque vous essayez d'utiliser setTimeout, la fonction est en cours d'exécution. exécuté immédiatement, même si un délai de 2 secondes (2 000 millisecondes) a été spécifié. Le code suivant illustre ce problème :

setTimeout(testfunction(), 2000);
Copier après la connexion

Solution

Le problème provient de l'utilisation incorrecte des parenthèses lors de l'appel de la fonction. Dans le code fourni, testfunction() est appelé immédiatement avec des parenthèses, ce qui entraîne son exécution avant le délai setTimeout.

Pour résoudre ce problème, les parenthèses doivent être supprimées de l'appel de fonction. Au lieu de cela, le nom de la fonction sans parenthèses doit être transmis à setTimeout comme indiqué ci-dessous :

setTimeout(testFunction, 2000);
Copier après la connexion

Notez que la suppression des parenthèses empêche l'appel immédiat de la fonction, permettant ainsi au délai setTimeout de prendre effet. Cela garantira que la fonction s'exécutera après l'intervalle de temps spécifié.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal