Анонимные самовызывающиеся функции и функции обратного вызова в JavaScript.
Всем привет! Недавно мы рассмотрели различия между function declaration и function expression, сегодня мы рассмотрим, как использовать анонимные самовызывающиеся функции и функции обратного вызова.
Функции обратного вызова
Рассмотрим такой код
var func = function(callback) {
var name = 'Ivan';
callback(name);
}
Здесь мы передаем в функцию другую функцию, которую потом вызываем. Вот так теперь мы можем использовать наш код.
func(function(n) {
alert('Привет, ' + n);
});
Мы определили свою функцию, которая передается в параметре. Такой тип функций называется "функции обратного вызова" или callback по-английски.
Самовызывающиеся функции
Как понятно из названия, такие функции вызываются сами.
Рассмотрим небольшой пример
var greeting = (function(name) {
return 'Привет, ' + name;
})('Ivan');
alert(greeting);
Как вы можете видеть, мы обернули функцию в круглые скобки, после чего снова поставили круглые скобки в конце функции и передали туда нужный аргумент. Такая функция вызовется сразу же, как до нее дойдет интерпретатор, поэтому мы увидим "Привет, Ivan", хотя мы данную функцию не вызывали.
Такие функции также очень часто используются на практике.
Например, такой тип функций используется для реализации паттерна модуль.
Итак, на этом все. Спасибо за внимание и удачи!
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.