Таймеры
Вы можете периодически, через заданный интервал времени, запускать код, например, функцию JavaScript. При этом создается эффект одновременного, параллельного выполнения вычислительных процессов. Иногда требуется организовать временную задержку перед выполнением какой-то функции, чтобы ранее начатый процесс успел завершиться. Все это относится к задачам управления вычислительными процессами во времени.
Для организации постоянного периодического (через заданный интервал времени) выполнения некоторого выражения или функции служит метод setInterval() объекта Window. Этот метод имеет следующий синтаксис:
setInterval(выражение, период [, язык])
Первый параметр представляет собой строку, содержащую выражение (в частности, вызов функции). Второй параметр — целое число, указывающее временную задержку в миллисекундах перед последующими выполнениями выражения, указанного в первом параметре. Третий, необязательный параметр указывает язык, на котором написано выражение; по умолчанию — JavaScript. Метод setInterval() возвращает некоторое целое число — идентификатор временного интервала, который может быть использован в дальнейшем для прекращения выполнения процесса, запущенного с помощью данного метода (см. ниже метод clearInterval()).
Пусть, например, требуется, чтобы некоторая функция myfunc() выполнялась периодически через 0,5 с. Тогда в сценарии следует записать следующее выражение:
setInterval("myfunc()", 500)
Тот факт, что первый параметр метода setInterval() является строкой, обусловливает некоторые особенности передачи параметров периодически вызываемой функции. Если периодически вызываемая функция принимает параметры, то мы должны сначала сформировать строку, содержащую имя этой функции, круглые скобки, значения параметров и запятые между ними, а затем передать ее в качестве первого параметра методу setInterval(). В следующем примере показано, как передать методу setInterval() функцию с двумя параметрами, param1 и param2, значения которых определены в другом месте сценария:
var xstr = "myfunc(" + paraml + "," + param2 + " ) ";
Дата добавления: 2015-08-01; просмотров: 476;