Урок 4: Основные функции
Функции являются одним из ключевых элементов программирования на JavaScript. Они позволяют организовать код, сделать его более читаемым и повторно использовать части кода. В этом уроке мы рассмотрим, как определить и вызвать функции, как передавать параметры в функции и получать возвращаемые значения.
Определение и вызов функций
Функция в JavaScript определяется с помощью ключевого слова function
, за которым следует имя функции, список параметров в круглых скобках и тело функции в фигурных скобках.
// Определение функции
function greet() {
console.log('Hello, world!');
}
// Вызов функции
greet(); // Hello, world!
Функция greet
в данном примере не принимает параметров и просто выводит сообщение в консоль. Для вызова функции достаточно указать ее имя, за которым следуют круглые скобки.
Параметры и возвращаемые значения
Функции могут принимать параметры, которые передаются при вызове функции. Параметры указываются в круглых скобках при определении функции. Для возвращения значения из функции используется оператор return
.
// Определение функции с параметром
function greet(name) {
return 'Hello, ' + name + '!';
}
// Вызов функции с аргументом
console.log(greet('Alice')); // Hello, Alice!
В этом примере функция greet
принимает один параметр name
и возвращает строку приветствия с этим именем. При вызове функции мы передаем строку 'Alice'
в качестве аргумента.
Примеры функций
Рассмотрим несколько примеров функций с различными параметрами и возвращаемыми значениями:
// Функция сложения двух чисел
function add(a, b) {
return a + b;
}
console.log(add(3, 5)); // 8
// Функция, проверяющая, является ли число четным
function isEven(num) {
return num % 2 === 0;
}
console.log(isEven(4)); // true
console.log(isEven(7)); // false
Функция add
принимает два параметра a
и b
и возвращает их сумму. Функция isEven
проверяет, является ли переданное число четным, и возвращает true
или false
.
Функции как значения
В JavaScript функции являются объектами первого класса, что означает, что их можно присваивать переменным, передавать в качестве аргументов другим функциям и возвращать из других функций.
// Присвоение функции переменной
let sayHello = function(name) {
return 'Hello, ' + name + '!';
};
console.log(sayHello('Bob')); // Hello, Bob!
// Передача функции в другую функцию
function greetUser(greetFunction, userName) {
return greetFunction(userName);
}
console.log(greetUser(sayHello, 'Charlie')); // Hello, Charlie!
В этом примере функция sayHello
присваивается переменной, а затем передается в другую функцию greetUser
, которая вызывает переданную функцию с заданным именем пользователя.
Результат выполнения
Hello, world!
Hello, Alice!
8
true
false
Hello, Bob!
Hello, Charlie!
Упражнения
Упражнение 1: Создание функции умножения
Создайте функцию multiply
, которая принимает два числовых параметра и возвращает их произведение. Вызовите функцию с аргументами 6 и 7 и выведите результат в консоль.
Решение:
// Определение функции умножения
function multiply(a, b) {
return a * b;
}
// Вызов функции
console.log(multiply(6, 7)); // 42
Объяснение: Мы определили функцию multiply
, которая принимает два параметра a
и b
, затем возвращает их произведение. После этого мы вызвали функцию с аргументами 6 и 7 и вывели результат в консоль.
Упражнение 2: Функция проверки возраста
Создайте функцию checkAge
, которая принимает один числовой параметр age
и возвращает строку "Adult", если возраст 18 или более, и "Minor", если возраст меньше 18. Вызовите функцию с аргументами 20 и 15 и выведите результаты в консоль.
Решение:
// Определение функции проверки возраста
function checkAge(age) {
if (age >= 18) {
return 'Adult';
} else {
return 'Minor';
}
}
// Вызов функции
console.log(checkAge(20)); // Adult
console.log(checkAge(15)); // Minor
Объяснение: Мы определили функцию checkAge
, которая принимает один параметр age
и проверяет, является ли возраст 18 или более. Если да, функция возвращает строку "Adult", иначе возвращает "Minor". Затем мы вызвали функцию с аргументами 20 и 15 и вывели результаты в консоль.