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 — это фундаментальный инструмент для создания логики в программах. Функции позволяют структурировать код, упрощают повторное использование блоков логики и являются основой для многих паттернов проектирования в языке.