#javascript #function #variables #callback
Вопрос:
Я новичок в JavaScript и недавно узнал об обратных вызовах из учебника. Инструктор упомянул, что обратные вызовы используются везде в коде среди разработчиков JavaScript. Что я понимаю до сих пор, так это то, что эти обратные вызовы хранят функцию внутри функции, которая будет выполнена позже, но не было бы проще и эффективнее сохранить значение в переменной и создать функцию, которая регистрирует желаемый результат? Не может ли альтернатива обратного вызова (введенная ниже) быть выполнена также позже?
**Callback Example:**
function callbackExample(name, callback){
log(callback(name));
}
callbackExample('Adee Otana', function(name){
return 'Hello ' name;
});
**Alternative:**
let name = 'Adee';
function callbackAlt(name){
log('Hello ' name);
}
callbackAlt(name);
Комментарии:
1. С
callbackAlt
помощью , он ограничен в том, что он может регистрировать. За ним всегда будет"Hello"
следовать какой-то текст. СcallbackExample
помощью дополнительной логики можно определить , каким должен быть регистрируемый вывод, и это дает разработчику большую гибкость. Полезность может быть более очевидной для таких функций, как фильтр , который позволяет использовать обратный вызов для определения того, какие элементы следует сохранять/удалять из массива. Затем фильтр может использовать обратный вызов для принятия решения2. нет, информация о функциях обратного вызова не имеет ничего общего с сохранением функции в другой функции, это просто адрес функции, которая должна быть вызвана обратно. дубликата кода нет.