---
sidebar_position: 2
---

# Function Declaration

Function Declaration (Объявление Функции):
```js
function имя(параметры, через, запятую) {
 //...тело, код функции...
}
```
Переменные, объявленные внутри функции, видны только внутри этой функции.

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

#### 💥 Глобальные переменные
> Переменные, объявленные снаружи всех функций, называются глобальными.
>
> Глобальные переменные видимы для любой функции (если только их не перекрывают одноимённые локальные переменные).
>
> Желательно сводить использование глобальных переменных к минимуму. В современном коде обычно мало или совсем нет глобальных переменных. Хотя они иногда полезны для хранения важнейших «общепроектовых» данных.

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

Другими словами:

- **Параметр** – это переменная, указанная в круглых скобках в объявлении функции.
- **Аргумент** – это значение, которое передаётся функции при её вызове.

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

Функция может вернуть результат, который будет передан в вызвавший её код c помощью **return**\
Возможно использовать **return** и без значения. Это приведёт к немедленному выходу из функции.

❗ ***Результат функции с пустым return или без него – undefined*** \
❌ Никогда не добавляйте перевод строки между return и его значением

🚀 **Источник: [https://learn.javascript.ru/function-basics](https://learn.javascript.ru/function-basics)**