Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Передача функции в функцию (https://javascript.ru/forum/misc/80435-peredacha-funkcii-v-funkciyu.html)

Biotoxsin 04.06.2020 16:44

Передача функции в функцию
 
Здравствуйте!

Подскажите, как работает передача функции в функцию после выполнения как в jquery.

Например в jquery мы можем после выполнения к примеру fadeIn прописать функцию которая будет выполняться после завершения fadeIn. Как это работает?

laimas 04.06.2020 17:04

fadeIn возвращает объект, к которому была применена эта функция, к нему можно применить другую и так далее по цепочке.

Белый шум 04.06.2020 23:40

Biotoxsin,

Наглядная иллюстрация к ответу laimas:
var obj = {
 "x1": 1,
 "x2": 2,
 "test": function(var1) {
   console.log(var1 + ": ", this);
   return this; //<-- ключевой момент - нужно вернуть объект, в котором объявлен метод с названием, которое вызывается дальше по цепочке
 }
};
obj.test('раз').test('два').test('три');



P.S.: В случае эффектов в jQuery (fadeIn и т.п.) всё несколько сложней, т.к. он реализует неблокирующую анимацию с помощью очереди эффектов (следующая анимация начнёт выполняться только после завершения предыдущей, но страница не подвиснет на всё это время). Чуть подробней тут - http://jquery.page2page.ru/index.php5/Очередь_предстоящих_функци й


Часовой пояс GMT +3, время: 18:38.