--- title: function slug: Web/JavaScript/Reference/Statements/function tags: - JavaScript - Функция translation_of: Web/JavaScript/Reference/Statements/function ---
Объявление функции определяет функцию с указанными аргументами.
Также вы можете определять функции через конструктор {{jsxref("Function")}} или {{jsxref("Operators/function", "функциональное выражение")}}.
function name([param,[, param,[..., param]]]) { [statements] }
name
paramN
statements
Функция, созданная через объявление функции, является объектом Function
и обладает всеми свойствами, методами и поведением объектов такого типа. Смотрите {{jsxref("Function")}} для подробной информации о функциях.
Также функцию можно создать с помощью выражения (см. {{jsxref("Operators/function", "функциональное выражение")}}).
По умолчанию функции возвращают undefined
. Чтобы вернуть другое значение, функция должна содержать инструкцию {{jsxref("Statements/return", "return")}}, которая указывает, какое значение возвращать.
Функции могут объявлены условно, иначе говоря, объявление функции может содержаться внутри условного оператора. Большинство браузеров, отличных от Mozilla, трактуют подобные условные объявления безотносительно условия, и создадут функцию, вне зависимости от истинностного значения условия; смотрите статью об этом. Поэтому такое использование не рекомендуется, для условного создания функций используйте функциональные выражения.
Объявление функции в JavaScript поднимает определение функции. Вы можете использовать функцию до того, как вы её объявили:
hoisted(); // выводит "foo" function hoisted() { console.log("foo"); }
Заметьте, что {{jsxref("Operators/function", "функциональные выражения")}} не поднимаются:
notHoisted(); // TypeError: notHoisted не является функцией var notHoisted = function() { console.log("bar"); };
function
Следующий код объявляет функцию, возвращающую итоговое количество продаж, сложенное из количества продаж продуктов a
, b
и c
.
function calc_sales(units_a, units_b, units_c) { return units_a*79 + units_b * 129 + units_c * 699; }
{{Compat}}