Этот вопрос уже имеет ответ здесь:
Между чем основное различие
и
в JavaScript?
setTimeout (выражение, тайм-аут);
запускает код / функцию один раз после тайм-аута.
setInterval (выражение, тайм-аут);
запускает код / функцию в интервалах, с длительностью тайм-аута между ними.
Пример:
var intervalID = setInterval(alert, 1000); // Will alert every second.
// clearInterval(intervalID); // Will clear the timer.
setTimeout(alert, 1000); // Will alert once, after a second.
setTimeout ():
Это функция, которая выполняет оператор JavaScript ПОСЛЕ
x интервал.
setTimeout(function () {
something();
}, 1000); // Execute something() 1 second later.
setInterval ():
Это функция, которая выполняет оператор JavaScript КАЖДЫЙ
интервал x.
setInterval(function () {
somethingElse();
}, 2000); // Execute somethingElse() every 2 seconds.
Единица измерения интервала - миллисекунда
для обеих функций.
setInterval
повторяет вызов, setTimeout
запускает его только один раз.
setInterval
срабатывает снова и снова с интервалом , а setTimeout
срабатывает только один раз.
См. ссылку на MDN .