JavaScript для детей. Самоучитель по программированию



Pdf көрінісі
бет40/43
Дата20.07.2022
өлшемі6,41 Mb.
#37806
1   ...   35   36   37   38   39   40   41   42   43
И Н Т Е РА К Т И В Н О Е 
П Р О Г РА М М И Р О В А Н И Е
До сих пор JavaScript начинал работу сразу же после загрузки страницы, 
приостанавливаясь лишь при вызове некоторых функций, таких как 
alert или confi rm. Однако порой не нужно выполнять весь код сразу — 
что если мы хотим запустить фрагмент кода спустя какое-то время или 
в ответ на действие пользователя?
В этой главе мы изучим разные способы управлять тем, когда именно 
выполняется наш код. Это называется интерактивным программирова-
нием. Оно позволяет создавать интерактивные веб-страницы, которые 
могут изменяться со временем и реагировать на действия пользователей.
Отложенное выполнение кода и setTimeout
Вместо того чтобы вызывать функцию сразу, можно попросить JavaScript 
сделать это спустя определенное время. Такого рода отложенное выпол-
нение называется запуском по таймеру, и для этого в JavaScript есть 
функция 
setTimeout. Данная функция принимает два аргумента 
(см. рис. 10.1): функцию, которую надо будет вызвать при срабатывании 
таймера, и само время ожидания в миллисекундах.
Set timeout

устано-
вить время 
задержки


157
setTimeout
(func, timeout)
Сколько миллисекунд ждать 
перед запуском функции
Функция, которую надо выполнить 
через timeout миллисекунд
Рис. 10.1. Аргументы 
setTimeout
Следующий пример показывает, как открыть диалог 
alert через 
setTimeout.

var timeUp = function () {
alert("Время вышло!");
};

setTimeout(timeUp, 3000);
1
В строке 

мы создали функцию 
timeUp, открывающую диа-
лог 
alert с сообщением "Время вышло!". В строке 

мы вызвали 
setTimeout с двумя аргументами: функцией, которую нужно запустить 
(timeUp), и числом миллисекунд (3000), которые должны пройти перед 
ее запуском. По сути, мы говорим: «Подожди три секунды и вызови 
timeUp». Сразу после вызова setTimeout(timeUp, 3000) ничего 
не произойдет, однако через три секунды сработает функция 
timeUp, 
открыв диалог 
alert.
Обратите внимание — вызов 
setTimeout вернул число 1. Это значе-
ние называют идентификатором (ID) таймера, который обозначает этот 
конкретный таймер (отложенный вызов функции). Заметим, что возвра-
щаемое 
setTimeout значение может быть любым числом, ведь это про-
сто идентификатор. Вызовите 
setTimeout снова, и он вернет другой ID 
таймера:
setTimeout(timeUp, 5000);
2
Полученный ID можно передать функции 
clearTimeout, чтобы 
отменить этот конкретный таймер. Об этом я расскажу ниже.
Clear timeout
— 
отменить 
задержку 


158

Достарыңызбен бөлісу:
1   ...   35   36   37   38   39   40   41   42   43




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет