@Lolipop999

Как разъяснить данную callback функцию?

Есть такой код

<div class="out-1"></div>

function myFunc(callback) {
   let arr = [1, 2, 3, 4, 5, 6, 7, 8];
   let el = document.querySelector('.out-1');
   callback(arr, el);
}

function out(arr, el) {
   el.innerHTML = arr.join('-');
}

myFunc(out)


Не могу до конца понять, как ф-ия out взаимодействует c myFunc(callback). Как я понял :
1)Ф-ия myFunc имеет параметр ф-ию callback, которая в свою очередь содержит параметры arr и el, массив и блок.
2)Ф-ия out выполняет действие добавления массива в html блок
3)При вызове myFunc(out) происходит следующее: Береем ф-ию myFunc и говорим ей выполнить действие с помощью ф-ии out и она передается в качестве параметра в myFunc и ... дальше я не могу понять, что происходит
  • Вопрос задан
  • 44 просмотра
Решения вопроса 2
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
она передается в качестве параметра в myFunc и ...

...и она тупо вызывается с нужными параметрами

то же самое, если написать сразу

function myFunc(/* callback */) {
   let arr = [1, 2, 3, 4, 5, 6, 7, 8];
   let el = document.querySelector('.out-1');
   // callback(arr, el);
  el.innerHTML = arr.join('-');
}

//function out(arr, el) {
//   el.innerHTML = arr.join('-');
//}

// myFunc(out)
myFunc()
Ответ написан
Комментировать
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
function myFunc(callback) {
   let arr = [1, 2, 3, 4, 5, 6, 7, 8]; // Создать массив
   let el = document.querySelector('.out-1'); // Найти элемент
   callback(arr, el); // Вызвать функцию callback и передать ей в параметрах массив и найденный элемент
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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