Параметры и аргументы
Параметры по умолчанию
function greet(name = "Гость") {
return `Привет, ${name}!`;
}
console.log(greet()); // "Привет, Гость!"
console.log(greet("Мария")); // "Привет, Мария!"Оставшиеся параметры (rest parameters)
function sumAll(...numbers) {
let total = 0;
for (let num of numbers) {
total += num;
}
return total;
}
console.log(sumAll(1, 2, 3, 4, 5)); // 15Возврат значений
Функция может возвращать значение с помощью return. Если return нет, функция возвращает undefined.
function withoutReturn() {
console.log("Я ничего не возвращаю");
}
const result = withoutReturn();
console.log(result); // undefinedЗамыкания (Closures)
Функция, которая запоминает свое лексическое окружение.
function createCounter() {
let count = 0;
return function() {
count++;
return count;
};
}
const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2
console.log(counter()); // 3Рекурсивные функции
Функция, которая вызывает сама себя.
function factorial(n) {
if (n <= 1) return 1;
return n * factorial(n - 1);
}
console.log(factorial(5)); // 120 (5 * 4 * 3 * 2 * 1)