La distinction entre 'setInterval' et 'setTimeout' en JavaScript
En JavaScript, la gestion des opérations asynchrones est cruciale, et deux fonctions clés qui faciliter cela sont « setInterval » et « setTimeout ». Comprendre leurs différences est essentiel pour un codage efficace.
'setTimeout' vs 'setInterval' :
setTimeout :
- Exécute une fonction une fois après un délai spécifié (timeout).
- Syntaxe : setTimeout(expression, timeout)
- Exemple : setTimeout(function() { alert("Hello World!") ; }, 1000); // Alertes "Hello World!" en une seconde.
setInterval :
- Exécute une fonction à plusieurs reprises à des intervalles spécifiés (timeout).
- Syntaxe : setInterval (expression, délai d'attente)
- Exemple : setInterval(function() { console.log("Running Every Second"); }, 1000); // Enregistre le message toutes les secondes.
Différences clés :
-
Fréquence d'exécution : setTimeout s'exécute une fois, tandis que setInterval s'exécute à plusieurs reprises.
-
Objectif : setTimeout est utilisé pour les actions retardées ou la planification, tandis que setInterval est destiné aux tâches ou aux animations périodiques.
-
Contrôle : setInterval peut être arrêté en appelant clearInterval(intervalID), tandis que setTimeout ne peut pas être explicitement arrêté une fois planifié.
-
Rappel : setInterval attribue automatiquement un ID d'intervalle au rappel, qui peut être utilisé pour l'annulation. setTimeout n'attribue pas d'ID d'intervalle.
Exemple :
Considérez deux scénarios :
- Alerte « Hello World ! » une fois après 5 secondes : utilisez setTimeout.
- Enregistrement de "Ceci est en cours d'exécution" toutes les 2 secondes : utilisez setInterval.
Code :
// Alert after 5 seconds
setTimeout(function() { alert("Hello World!"); }, 5000);
// Log every 2 seconds
var intervalID = setInterval(function() { console.log("This is Running"); }, 2000);
// Stop logging after 10 seconds
setTimeout(function() { clearInterval(intervalID); }, 10000);
Copier après la connexion
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!