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

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

 checkAdult(ages)


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

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

Войти через центр авторизации
Похожие вопросы