function — это ключевое слово в JavaScript, которое используется для создания функций. Функция — это блок кода, который можно вызывать многократно, передавая параметры и получая результат. Функции помогают структурировать код, делая его более читаемым и повторно используемым.
Способы объявления функций
Обычная (именованная) функция
Функция объявляется с помощью ключевого слова function, за которым идет имя функции:
function greet(name) {
return `Привет, ${name}!`;
}
console.log(greet('Алиса')); // Привет, Алиса!Анонимная функция
Функция без имени, часто используется в присваиваниях или как аргумент:
const greet = function(name) {
return `Привет, ${name}!`;
};
console.log(greet('Алиса')); // Привет, Алиса!Стрелочная функция
Более короткий синтаксис для функций, особенно удобен для простых выражений:
const greet = (name) => `Привет, ${name}!`;
console.log(greet('Алиса')); // Привет, Алиса!Параметры функции
Функции могут принимать параметры — данные, переданные при вызове:
function add(a, b) {
return a + b;
}
console.log(add(3, 5)); // 8Значения по умолчанию
Если аргумент не передан, можно задать для него значение по умолчанию:
function greet(name = 'Гость') {
return `Привет, ${name}!`;
}
console.log(greet()); // Привет, Гость!Возврат значения
Функция возвращает результат с помощью return:
function square(n) {
return n * n;
}
console.log(square(4)); // 16Если return отсутствует, функция возвращает undefined.
Функции как значения
Функции — это объекты первого класса в JavaScript, их можно передавать в переменные, параметры и возвращать из других функций:
function createMultiplier(factor) {
return function(n) {
return n * factor;
};
}
const double = createMultiplier(2);
console.log(double(5)); // 10Вложенные функции
Функции можно объявлять внутри других функций:
function outer() {
function inner() {
console.log('Внутренняя функция');
}
inner();
}
outer(); // Внутренняя функцияФункциональные выражения vs объявления
Функциональное выражение присваивает функцию переменной:
const greet = function(name) {
return `Привет, ${name}!`;
};Функциональное объявление сразу создает именованную функцию:
function greet(name) {
return `Привет, ${name}!`;
}Объявленные функции поднимаются (hoisting), а выражения — нет.
Особенности function в JavaScript
- Функции могут быть объявлены внутри блоков кода, однако такое поведение зависит от режима строгого выполнения.
- Функции имеют доступ к
this, зависящему от контекста вызова. - Функции обладают собственной областью видимости (scope).
function в JavaScript — это фундаментальный инструмент для создания логики в программах. Функции позволяют структурировать код, упрощают повторное использование блоков логики и являются основой для многих паттернов проектирования в языке.