Вивід кожної секунди
важливість: 5
Напишіть функцію printNumbers(from, to) яка виводить число кожну секунду, починаючи від from і закінчуючи to.
Зробіть два варіанти рішення.
- Використовуючи
setInterval. - Використовуючи вкладений
setTimeout.
Використовуючи setInterval:
function printNumbers(from, to) { let current = from; let timerId = setInterval(function() { alert(current); if (current == to) { clearInterval(timerId); } current++; }, 1000); } // використання: printNumbers(5, 10); Використовуючи вкладений setTimeout:
function printNumbers(from, to) { let current = from; setTimeout(function go() { alert(current); if (current < to) { setTimeout(go, 1000); } current++; }, 1000); } // використання: printNumbers(5, 10); Зауважте, що в обох рішеннях є початкова затримка перед першим виходом. Функція викликається після 1000 мс у перший раз.
Якщо ми також хочемо, щоб функція запускалася негайно, ми можемо додати додатковий виклик в окремому рядку, наприклад:
function printNumbers(from, to) { let current = from; function go() { alert(current); if (current == to) { clearInterval(timerId); } current++; } go(); let timerId = setInterval(go, 1000); } printNumbers(5, 10);