Час є важливим фактором в будь-якому додатку, особливо при програмуванні веб-ресурсів. Мова браузера надає розробнику два варіанти: jаvascript setTimeout - однократний запуск функції через певний проміжок часу, і setInterval - багаторазовий запуск функції через рівні періоди часу.
Функція setTimeout дозволяє організувати тимчасові процеси динамічно, регулюючи проміжки часу і виконуваний код.
Синтаксис і використання функції
jаvascript setTimeout містить два обов'язкових параметра: виконувану функцію і час затримки до її виконання. Замість функції можна вказати рядок коду, але це не практикується. Потрібний алгоритм бажано виконувати у форматі функції.
Результатом виклику window.setTimeout jаvascript визначає числове значення, за допомогою якого можна скинути встановлений час затримки і не виконувати записаний код функції.
В даному прикладі конструкції: dLine.innerHTML = '(х) '; записані спеціально для того, щоб показати, що виконання послідовності команд не переривається викликами: setTimeout(); Мова jаvascript тільки запускає таймаут очікування, після закінчення яких потім виконає відповідні функції. Результат роботи наведеного коду показаний праворуч нижче.
Всі функції спрацювали через встановлений час: 1 2 і 7 секунд. Функція, яка повинна була спрацювати через 4 секунди, була скинута і не виконувалася.
Використання setTimeout в циклі
jаvascript - швидкий і ефективний мову. Циклічні оператори не представляють ніякої затримки в переважній більшості випадків. Важливо зазначити, що алгоритм, в якому відбувається виклик jаvascript setTimeout, не завжди буде виконаний так, як можна очікувати, не маючи досвіду застосування цієї функції.
Не слід надавати значення установок паузи крім їх прямого призначення: пауза - це час до запуску функції. Що буде робити ця функція, до основного алгоритму має непряме відношення. Особливо важливо: використання jаvascript setTimer в циклі, в будь-якому іншому блоці операторів або послідовності команд не має ніякого відношення до формованої паузі.
Пауза призначається на час виконання функції, яка в ній записана. Це суттєво. Застосовуючи виклик jаvascript setTimeout у циклі з десяти ітерацій, розробник робить десять пауз перед десятьма викликами однієї і тієї ж функції. Оскільки цикл працює дуже швидко, то ці десять викликів - це фактично десятикратний виклик одного і того ж коду в одне і теж час.
Області застосування jаvascript setTimeout
Веб-ресурс повинен контролювати поведінку відвідувачів в цілях належного виконання своєї місії, забезпечення безпеки, передачі повідомлень і з інших причин. Наприклад, сайт, що представляє собою адміністративний ресурс управління співробітниками, повинен подавати інформацію керівництву про те, в якому становищі справ знаходиться ділова активність компанії, хто зі співробітників вийшов на роботу, хто чим займається і т. п. Якщо робота співробітників управляється через сайт в глобальній мережі, то в браузери їх комп'ютерів будуть завантажені ті чи інші сторінки офісного сайту. Кожна така сторінка може відправляти на сервер дані про те, який співробітник підключився і чим він займається.

У сучасному бізнесі багато компаній дозволяють співробітникам використовувати власні девайси (мобільні телефони, смартфони, планшети). Керівництво підприємства може мати доступ до співробітника, який перебуває в дорозі, у відрядженні, на відпочинку. Реалізація такої можливості може бути забезпечена тільки за допомогою періодичного обміну інформацією між локальними девайсами і сервером, причому зовсім не обов'язково обмін повинен бути організований через рівні проміжки часу. Протокол забезпечення всебічної зв'язку залежить від особливостей бізнесу і ділової активності компанії.