05. Функции
Что такое функция
Функция — это блок кода, который можно вызывать многократно. Она помогает избежать дублирования и делает код понятнее.Функция — как мини-программа внутри вашей программы. Её можно запустить в нужный момент, передать данные и получить результат.
Создание функции
Функция объявляется с помощью ключевого слова function.
function sayHello() {
console.log('Привет, мир!');
}
Чтобы запустить (вызвать) функцию, нужно написать её имя с круглыми скобками:
sayHello(); // Привет, мир!
Пример
function greet() {
console.log('Добро пожаловать в JavaScript!');
}greet();
greet(); // Можно вызвать несколько раз
Параметры и аргументы
Функция может принимать значения (параметры), с которыми она работает.
function greetUser(name) {
console.log('Привет, ' + name + '!');
}greetUser('Анна');
greetUser('Иван');
Несколько параметров
function showInfo(name, age) {
console.log(`${name}, ${age} лет`);
}showInfo('Алекс', 25);
Возврат значения
Иногда функция должна не просто что-то сделать, а вернуть результат. Для этого используется return.
function add(a, b) {
return a + b;
}let result = add(5, 3);
console.log(result); // 8
После return выполнение функции прекращается.
Пример
function isAdult(age) {
if (age >= 18) {
return true;
} else {
return false;
}
}console.log(isAdult(20)); // true
console.log(isAdult(15)); // false
Область видимости
Переменные, объявленные внутри функции, недоступны снаружи — это называется локальная область видимости.
function test() {
let message = 'Привет!';
console.log(message); // работает
}// console.log(message); // Ошибка: message не определена
Глобальные переменные
Если переменная объявлена вне функции — она глобальная, и доступна везде.
let site = 'Example.com';function showSite() {
console.log('Добро пожаловать на ' + site);
}
showSite();
Стрелочные функции
Современный способ записи функций — через стрелочную запись (arrow functions).
// Обычная функция
function square(x) {
return x * x;
}// Стрелочная функция
const squareArrow = (x) => x * x;
console.log(squareArrow(5)); // 25
Если тело функции состоит из одной строки, можно опустить фигурные скобки и return.
Пример с несколькими строками
const greet = (name) => {
console.log('Привет, ' + name);
console.log('Рад тебя видеть!');
};greet('Анна');
Передача функций как аргументов
В JavaScript функции — это объекты первого класса, их можно передавать в другие функции!
function callTwice(fn) {
fn();
fn();
}function sayHi() {
console.log('Привет!');
}
callTwice(sayHi);
Мини-практика
- Создайте функцию multiply(a, b), которая возвращает произведение двух чисел.
- Создайте функцию greetUser(name, age), которая выводит строку: «Привет, Анна! Тебе 25 лет.»
- Создайте стрелочную функцию isEven(num), которая возвращает true, если число чётное.
Пример решения
function multiply(a, b) {
return a * b;
}const greetUser = (name, age) => {
console.log(`Привет, ${name}! Тебе ${age} лет.`);
};
const isEven = (num) => num % 2 === 0;
console.log(multiply(3, 4)); // 12
greetUser('Анна', 25);
console.log(isEven(10)); // true
Советы новичкам
- Если функция возвращает значение — всегда проверяйте, что возвращается именно то, что нужно.
- Старайтесь давать функциям понятные имена: `getUserInfo()`, `calculateSum()` — это делает код читаемым.
- Не бойтесь вызывать функции внутри других функций — это обычная практика!
- Если функция становится длинной — разбейте её на несколько мелких.
Итоги урока
Теперь вы знаете:- Как создавать и вызывать функции.
- Как передавать параметры и возвращать результаты.
- Разницу между обычными и стрелочными функциями.
- Что такое область видимости переменных.