Работа с функциями
Функции — это один из важнейших элементов JavaScript, позволяющий структурировать код, повторно использовать его и значительно упрощать разработку.
2.1. Что такое функция?
Функция — это блок кода, который выполняет определённое действие или вычисление. Функции помогают:
- 🔄 Повторно использовать код, избегая дублирования.
- 📦 Инкапсулировать логику для удобства и читаемости.
- 🛠️ Разбивать задачи на более мелкие, легко управляемые части.
function greet() {
console.log('Привет, мир!');
}
// Вызов функции
greet(); // Привет, мир!2.2. Как создавать функции
В JavaScript есть несколько способов объявления функций. Давайте рассмотрим каждый из них.
Обычные функции (Function Declaration)
function greet(name) {
return `Привет, ${name}!`;
}
console.log(greet('Анна')); // Привет, Анна!Используйте такие функции, когда требуется доступ к ним до их определения.
Функциональные выражения (Function Expression)
Функция может быть присвоена переменной:
const greet = function(name) {
return `Привет, ${name}!`;
};
console.log(greet('Анна')); // Привет, Анна!Стрелочные функции (Arrow Functions)
Стрелочные функции — это современный и сокращённый синтаксис для функций:
const greet = (name) => `Привет, ${name}!`;
console.log(greet('Анна')); // Привет, Анна!Используйте стрелочные функции там, где не нужен собственный контекст this, чтобы избежать путаницы.
2.3. Аргументы функций
Аргументы — это входные данные, которые передаются в функцию при её вызове.
В скобках после имени функции перечисляются параметры, которые ожидаются:
function greet(name) {
console.log(`Привет, ${name}!`);
}
greet('Анна'); // Привет, Анна!Если аргумент не передан, можно задать значение по умолчанию:
function greet(name = 'Гость') {
console.log(`Привет, ${name}!`);
}
greet(); // Привет, Гость!Используйте значения по умолчанию, чтобы избежать ошибок с undefined аргументами.
2.4. Возвращаемые значения
Функция может вернуть результат своей работы с помощью оператора return:
function add(a, b) {
return a + b;
}
console.log(add(3, 5)); // 8- Если в функции нет
return, она возвращаетundefined. - Функции могут возвращать объекты, массивы, другие функции:
function createUser(name, age) {
return { name, age };
}
console.log(createUser('Анна', 25)); // { name: 'Анна', age: 25 }2.5. Замыкания
Замыкание — это функция, которая «запоминает» переменные из своего внешнего окружения:
function createCounter() {
let count = 0;
return function() {
count++;
return count;
};
}
const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 22.6. Callback-функции
Callback-функция — это функция, передаваемая как аргумент в другую функцию, для выполнения после завершения какой-либо операции.
function processInput(callback) {
const name = prompt('Введите ваше имя:');
callback(name);
}
processInput((name) => {
alert(`Привет, ${name}!`);
});Callback'и полезны для асинхронных операций, например, обработки событий или работы с API.