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

Pourquoi « setTimeout » exécute-t-il ma fonction immédiatement ?

Linda Hamilton
Libérer: 2024-12-22 06:38:13
original
934 Les gens l'ont consulté

Why Does `setTimeout` Execute My Function Immediately?

Pourquoi la fonction s'exécute-t-elle immédiatement avec setTimeout() ?

Lors de l'utilisation de setTimeout en JavaScript, vous pouvez rencontrer un problème où la fonction s'exécute instantanément, sans tenir compte du délai spécifié. . Cette anomalie peut être attribuée à un piège courant.

Le problème survient lorsque vous appelez la fonction dans l'argument setTimeout, comme ceci :

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

Cette syntaxe invoque immédiatement testfunction(), et setTimeout planifie que la valeur de retour de cet appel de fonction soit exécutée après le délai spécifié. En conséquence, la fonction s'exécute instantanément et le minuteur devient redondant.

Pour résoudre ce problème, vous devez passer la fonction elle-même comme argument sans l'invoquer :

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

Remarquez l'absence de parenthèses après testFunction. Cette approche garantit que l'exécution de la fonction est planifiée une fois le délai écoulé, lui permettant de se comporter comme prévu.

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