01. Functions

Функция в JS -- это объект, с которым связан исполняемый код. Базовый синтаксис функции:

function имя(параметры, через, запятую) {
  код функции
  return value;
}

Пример:

// function declaration
function isEven(num) {
  return num % 2 === 0;
}
isEven(24); // => true
isEven(11); // => false

Параметры и аргументы:

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

  • Значения параметров, передаваемые при вызове функций называются её аргументами.

  • Передаваемые значения копируются в параметры функции и становятся локальными переменными.

Возвращаемое значение:

  • Функция всегда вычисляется в какое либо значение, которое подставляется на месте её вызова.

  • Если возврат из функции происходит в результате выполнения инструкции return, возвращается значение выражения, следующего за инструкцией return, или undefined, если инструкция return не имеет выражения.

  • Вызов return тут же прекращает функцию. Пустой return означает возврат undefined.

Область видимости:

  • Каждая функция внутри фигурных скобок {...} определяет собственную область видимости.

  • Переменные, объявленные внутри функции не видны за её пределами (локальные переменные).

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

  • Функции могут определяться внутри других функций. Функция, объявленная внутри другой функции имеет доступ как к переменным внутри внешней функции, так и к переменным во всех внешних областях видимости.

Функции как значения:

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

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

  • Вызовы функций, конструкторов и методов могут находиться где угодно в программе.

Last updated