@myaca

Объясните, почему вызов без скобочек?

https://www.w3schools.com/jsref/jsref_filter.asp
Пример отсюда.

var ages = [32, 33, 16, 40];

function checkAdult(age) {
return age >= 18;
}

function myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}

Почему на последней строчке (checkAdult) вызывается без скобок? Объясните, пожалуйста, как это работает.
  • Вопрос задан
  • 238 просмотров
Решения вопроса 2
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
Потому что оно не вызывается, а передается в функцию как функция-аргумент(колбек), для дальнейшего вызыва.
Ответ написан
tripcollor
@tripcollor
Если вызвать эту функцию то она вернет false.
Попробуйте набрать в консоли
var ages = [32, 33, 16, 40];

function checkAdult(age) {
return age >= 18;
}

 checkAdult(ages)


Получается вы в функцию фильтра в таком случае предадите результат выдачи он равен false и она не сработает.
А когда вы передаете функцию без вызова то она передает свои аргументы и все в отрабатывает корректно
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Market-place Ростов-на-Дону
от 100 000 до 200 000 ₽
22 июн. 2024, в 10:51
500 руб./за проект
22 июн. 2024, в 10:48
15000 руб./за проект
22 июн. 2024, в 10:08
15000 руб./за проект