1 of 14

Создание пользовательских функций в JavaScript

2 of 14

Пользовательские функции

Функцией в JavaScript называется именованная группа операторов, выполняющих определённую задачу.

Определение функции выглядит следующим образом:

function имя_функции(параметры)

{� … тело …� [return [значение]]�}

Одно из главных предназначений функций: избавление от дублирования кода.

Вызов функции осуществляется по ее имени.

3 of 14

Локальные переменные

Переменные, объявленные внутри функции, видны только внутри этой функции.

4 of 14

Внешние переменные

Функция обладает полным доступом к внешним переменным и может изменять их значение.

Внешняя переменная используется, только если внутри функции нет такой локальной.

5 of 14

Внешние переменные

Если одноимённая переменная объявляется внутри функции, тогда она перекрывает внешнюю.

 

6 of 14

Параметры

  • Можно передать внутрь функции любую информацию, используя параметры (аргументы функции).

7 of 14

Параметры по умолчанию

Если параметр не указан, то его значением становится undefined.

showMessage("Аня"); // "Аня: undefined«

Если нужно задать параметру text значение по умолчанию, его надо указать после =

8 of 14

Возврат значения

Функция может вернуть результат, который будет передан в вызвавший её код.

Директива return может находиться в любом месте тела функции. Как только выполнение доходит до этого места, функция останавливается, и значение возвращается в вызвавший её код. Вызовов return может быть несколько.

9 of 14

Возврат значения: пример

10 of 14

Функции временной задержки

Можно осуществлять вызов функции через заданный интервал времени. Это называется «планирование вызова».

Для этого существуют два метода:

  • setTimeout - позволяет вызвать функцию один раз через определённый интервал времени;
  • setInterval - позволяет вызывать функцию регулярно, повторяя вызов через определённый интервал времени.

Эти методы не являются частью спецификации JavaScript. Но большинство сред выполнения JS-кода имеют внутренний планировщик и предоставляют доступ к этим методам.

11 of 14

Метод setTimeout

  • Синтаксис:

  • Параметры:
  • func|code - функция или строка кода для выполнения. Обычно это функция.
  • delay - задержка перед запуском в миллисекундах (1000 мс = 1 с). Значение по умолчанию – 0.
  • arg1, arg2… - аргументы, передаваемые в функцию (не поддерживается в IE9-)

12 of 14

Пример

Вызов функции спустя одну секунду:

С аргументами:

13 of 14

Метод setInterval

Синтаксис:

Все аргументы имеют такое же значение, как и у метода setTimeout. Но отличие этого метода в том, что функция запускается не один раз, а периодически через указанный интервал времени.

Чтобы остановить дальнейшее выполнение функции, необходимо вызвать clearInterval(timerId).

14 of 14

Пример

Вывод сообщения каждые 2 секунды. Через 5 секунд вывод прекращается.