function

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

Также вы можете определять функции через конструктор Function или функциональное выражение.

Синтаксис

function name([param,[, param,[..., param]]]) {
   [statements]
}
name

Имя функции.

paramN

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

statements

Инструкции, которые составляют тело функции.

Описание

Функция, созданная через объявление функции, является объектом Function и обладает всеми свойствами, методами и поведением объектов такого типа. Смотрите Function для подробной информации о функциях.

Также функцию можно создать с помощью выражения (см. функциональное выражение).

По умолчанию функции возвращают undefined. Чтобы вернуть другое значение, функция должна содержать инструкцию return, которая указывает, какое значение возвращать.

Функции, создаваемые по условию

Функции могут объявлены условно, иначе говоря, объявление функции может содержаться внутри условного оператора. Большинство браузеров, отличных от Mozilla, трактуют подобные условные объявления безотносительно условия, и создадут функцию, вне зависимости от истинностного значения условия; смотрите статью об этом. Поэтому такое использование не рекомендуется, для условного создания функций используйте функциональные выражения.

Поднимание объявленной функции

Объявление функции в JavaScript поднимает определение функции. Вы можете использовать функцию до того, как вы её объявили:

js
hoisted(); // выводит "foo"

function hoisted() {
  console.log("foo");
}

Заметьте, что функциональные выражения не поднимаются:

js
notHoisted(); // TypeError: notHoisted не является функцией

var notHoisted = function () {
  console.log("bar");
};

Примеры

Использование function

Следующий код объявляет функцию, возвращающую итоговое количество продаж, сложенное из количества продаж продуктов a, b и c.

js
function calc_sales(units_a, units_b, units_c) {
  return units_a * 79 + units_b * 129 + units_c * 699;
}

Спецификации

Specification
ECMAScript® 2025 Language Specification
# sec-function-definitions

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
function statement
Trailing comma in parameters

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Смотрите также