Maison >interface Web >js tutoriel >Problèmes auxquels vous devez prêter attention lors de l'utilisation de la fonction de fermeture des astuces setTimeout()_javascript de Javascript
setTimeout est souvent utilisé pour retarder l'exécution d'une certaine fonction. L'utilisation est :
.Parfois setTimeout(function...,0) est utilisé pour le traitement asynchrone par exemple :
La fonction f revient avant le processeur de fonction défini par setTimeout
Soyez particulièrement prudent lorsque vous utilisez un traitement asynchrone, en particulier lorsque vous utilisez des fonctionnalités de fermeture
;Par exemple :
Pour les étudiants qui utilisent cette méthode pour la première fois, ils peuvent penser que le programme imprimera 0...9, mais il imprime en réalité 10 10
Le problème est que lorsque la boucle est terminée, la fonction est exécutée et i est devenu 10, soit 10 utilisé dans console.log(i) !
Si votre objectif est d'imprimer 0...9, alors vous pouvez changer la manière et utiliser les paramètres de fonction pour enregistrer 0...9 (en fait, les fermetures sont également utilisées) :