
Пояснения к статье:
- If/else — ключевые слова для условной конструкции в JavaScript.
- Директива — команда, отвечающая за выполнение определенных действий.
В этой статье мы рассмотрим такой элемент как функция. Она используется для повторения одного и того же действия в разных частях кода.
Например, вам нужно вывести сообщение для пользователя, которое будет отображаться при открытии сайта. Проблема в том, что пользователей может быть огромное количество и для каждого прописывать приветствие долго и нецелесообразно.
Но для того чтобы не прописывать вывод сообщения для каждого пользователя вручную мы будем использовать функции, которые будут работать автоматически. В этой статье мы подробно рассмотрим их особенности, а также правила работы с ними.
В JavaScript присутствуют и встроенные функции, например alert — функция вывода экстренного сообщения на экран. Можно использовать и стандартный набор функций, но собственные блоки кода часто оказываются очень полезными при разработке.
Объявление функций
Для объявления какого-либо элемента в JavaScript используются специальные ключевые слова, например var — у переменных. Для функций ключевым словом при объявлении является function. После него записывается имя функции.
Внимание! Требования к составлению названий функций такие же, как и требования к названиям переменных. Нельзя использовать имена команд и стандартных функций, имя не может начинаться с цифры, можно использовать нижнее подчеркивание и другие знаки не являющиеся буквами.
После ключевого слова и имени функции идут круглые скобки, в них записываются используемые параметры(о них ниже). Далее открываются фигурные скобки, и всё что находится в них является телом функции.
После того как функция была объявлена, её можно использовать по имени. Для этого запишите имя функции, скобки и переменные, по необходимости. Пример объявления функции:

Только что мы создали функцию вывода приветствия на экран, которая вызывается 2 раза, в нижней части кода.
Главное преимущество функции в том, что если возникнет необходимость заменить какие-либо команды на другие, то это нужно сделать всего один раз, изменив тело функции.
Локальные и внешние переменные
Теперь поговорим о переменных функции. Их существует два вида: локальные и внешние, которые отличаются по некоторым признакам. Также запомните, что функция позволяет использовать неограниченное количество переменных.
Локальные переменные объявляются с помощью ключевого слова var, в теле функции. Они действительны только внутри функции, и их нельзя использовать во внешнем коде.

Запомните! Если вы создаете локальную переменную в блоках if/else или циклах, то она все ещё видна во всем теле функции. Кроме этого, переменную можно объявлять в любом месте.
Что же такое внешние переменные? Это те переменные, которые заранее определены, вне тела функции.
Хоть переменная и не является локальной, над ней также можно проводить операции в теле функции. Пример:

Внимание! Старайтесь проводить сортировку переменных — глобальные переменные должны использоваться по всему скрипту, а локальные только в теле функции.
Параметры функции
С объявлением и переменными разобрались, а что же в круглых скобках? В них задаются параметры функции — данные, которые необходимы при работе с функции.
Пример функции с параметрами:

Запомните! Все параметры функции автоматически копируются в локальные переменные.
Функция может принимать неограниченное количество параметров. Кроме этого, вам не всегда потребуется весь список параметров функции, если в блоке их очень много. Можно указывать и все переменные, но это может снизить общую оптимизацию кода.
Возврат значения
Для возврата значений функции используется команда return. Её можно использовать для получения конечного результата или сохранения данных какой-либо из локальных переменных.
Директиву return можно вызывать неограниченное количество раз. В неё записываются любые значения — числовые, логические, строковые, и даже массивы.
Пример:

Заключение
В этой статье мы разобрались в том, что же такое функция. Теперь вы вооружены одним из главных инструментов программиста, главное немного практики.
В следующем уроке мы поговорим об объектах в JavaScript. А для закрепления материала откройте сборник задач и практикуйтесь. Удачи в изучении!