Maison > interface Web > js tutoriel > Quelle est la différence entre « setInterval » et « setTimeout » en JavaScript ?

Quelle est la différence entre « setInterval » et « setTimeout » en JavaScript ?

Mary-Kate Olsen
Libérer: 2024-11-14 16:36:02
original
814 Les gens l'ont consulté

What's the Difference Between `setInterval` and `setTimeout` in JavaScript?

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!

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