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);
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);
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!