291 votes

'setInterval' vs 'setTimeout'

Quelle est la principale différence entre

setInterval

et

setTimeout

en JavaScript?

467voto

lunixbochs Points 7475

setTimeout(expression, timeout); exécute le code / la fonction une fois le délai écoulé.

setInterval(expression, timeout); exécute le code / la fonction par intervalles, avec la durée du délai entre eux.

Exemple:

 var intervalID = setInterval(alert, 1000); // Will alert every second.
// clearInterval(intervalID); // Will clear the timer.

setTimeout(alert, 1000); // Will alert once, after a second.
 

79voto

deceze Points 200115

setInterval déclenche encore et encore par intervalles , tandis que setTimeout ne se déclenche qu'une fois.

Voir la référence à MDN .

71voto

MAS1 Points 732

setTimeout ():

C'est une fonction qui exécute une instruction JavaScript AFTER x interval.

 setTimeout("do.something();", 1000); //Execute do.something() 1 second later.
 

setInterval ():

C'est une fonction qui exécute une instruction JavaScript EVERY x interval.

 setInterval("do.somethingElse();", 2000); //Execute do.somethingElse() every 2 seconds.
 

L'unité d'intervalle est en millisecond pour les deux fonctions.

29voto

Daniel Earwicker Points 63298

setInterval répète l'appel, setTimeout ne l'exécute qu'une seule fois.

29voto

Haris Points 460

setInterval()

setInterval est un intervalle de temps basée sur l'exécution de code à la méthode qui a la capacité native à plusieurs reprises d'exécuter le script spécifié lorsque l'intervalle est atteint. Il ne devrait pas être imbriqués dans sa fonction de rappel par l'auteur du script pour faire tourner en boucle, depuis il fait une boucle par défaut. Il va continuer à tirer à l'intervalle sauf si vous appelez la fonction clearInterval().

si vous souhaitez faire une boucle de code pour les animations ou les horloges Puis utiliser setInterval.

function doStuff() {
alert("run your code here when time interval is reached");
}
var myTimer = setInterval(doStuff, 5000);

setTimeout()

setTimeout est une base de temps d'exécution de code à la méthode qui va exécuter le script qu'une seule fois lorsque l'intervalle est atteint, et de ne pas répéter à nouveau, sauf si vous vous préparez à boucle, le script par l'imbrication des setTimeout objet à l'intérieur de la fonction, il appelle à exécuter. Si orientée vers la boucle, il va continuer à tirer à l'intervalle, à moins que vous appelez clearTimeout().

function doStuff() {
alert("run your code here when time interval is reached");
}
var myTimer = setTimeout(doStuff, 5000);

si vous voulez que quelque chose se produise une fois après quelques secondes Ensuite utiliser setTimeout... parce qu'il n'exécute qu'une seule fois lorsque l'intervalle est atteint.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X