Главная страница » JavaScript » 37. Вызов функции — выражение
В JavaScript вызов функции является выражением, что означает, что он возвращает значение и может использоваться в любом месте, где допустимо выражение. Это позволяет гибко комбинировать вызовы функций и использовать их результаты в различных контекстах.
Вызов функции происходит при использовании имени функции с круглыми скобками, в которых могут быть указаны аргументы.
function add(a, b) {
return a + b;
}
let result = add(3, 4); // 7
Поскольку вызов функции возвращает значение, его можно использовать в различных контекстах, таких как присваивание, операции и аргументы других функций.
Присваивание значения переменной
let sum = add(10, 5);
console.log(sum); // 15
Использование в выражениях
let total = add(2, 3) * add(4, 5);
console.log(total); // 45 (5 * 9)
Передача результата в другую функцию
function multiply(a, b) {
return a * b;
}
let result = multiply(add(2, 3), add(4, 5));
console.log(result); // 45 (5 * 9)
Вызовы функций могут быть вложенными, что позволяет использовать результат одной функции в качестве аргумента для другой.
function subtract(a, b) {
return a - b;
}
let result = subtract(add(5, 5), add(2, 2));
console.log(result); // 6 (10 - 4)
Функции в JavaScript могут возвращать другие функции, что позволяет создавать функции высшего порядка.
function createMultiplier(factor) {
return function(number) {
return number * factor;
};
}
let double = createMultiplier(2);
console.log(double(5)); // 10
Пропуск круглых скобок при вызове функции
Без круглых скобок функция не будет вызвана, вместо этого будет возвращена ссылка на саму функцию.
console.log(add); // [Function: add]
console.log(add(3, 4)); // 7
Неправильное количество аргументов
JavaScript не требует строгого соответствия количества аргументов и параметров. Лишние аргументы игнорируются, а недостающие становятся undefined
.
function greet(name, greeting) {
return `${greeting}, ${name}!`;
}
console.log(greet('Анна')); // undefined, Анна!
Вложенные вызовы функций без проверки на тип возвращаемого значения
Если вложенные функции возвращают значения, которые могут не быть ожидаемыми, это может привести к ошибкам.
function divide(a, b) {
if (b === 0) {
return 'Невозможно делить на ноль';
}
return a / b;
}
let result = multiply(add(4, 2), divide(10, 0));
console.log(result); // Невозможно делить на ноль5, что неправильно
Понимание того, что вызов функции является выражением, помогает использовать функции более гибко и эффективно. Это позволяет комбинировать результаты вызовов функций, создавать вложенные вызовы и использовать функции высшего порядка.
Напишите функцию subtract
, которая принимает два параметра и возвращает их разность. Затем используйте результат этой функции в качестве аргумента для функции multiply
, чтобы умножить разность на число.
Напишите функцию createGreeting
, которая принимает параметр name
и возвращает функцию, которая принимает параметр greeting
и возвращает строку приветствия. Используйте результат этой функции для создания нескольких приветствий.
Пример решения:
// Задание 1
function subtract(a, b) {
return a - b;
}
function multiply(a, b) {
return a * b;
}
let difference = subtract(10, 4);
let product = multiply(difference, 3);
console.log(product); // 18
// Задание 2
function createGreeting(name) {
return function(greeting) {
return `${greeting}, ${name}!`;
};
}
let greetAnna = createGreeting('Анна');
console.log(greetAnna('Привет')); // Привет, Анна!
console.log(greetAnna('Здравствуйте')); // Здравствуйте, Анна!
Этот урок поможет вам лучше понять, как использовать вызовы функций в JavaScript как выражения и научит избегать распространенных ошибок при их использовании.
Наша цель и главная задача сделать качественное образование в вашем браузере
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024 Все права защищены. CodeFor.