HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Функция обратного вызова, или<em>колбэк-функция</em>, - это любая функция, которая передаётся в другую функцию в качестве аргумента.</p>
1 <p>Функция обратного вызова, или<em>колбэк-функция</em>, - это любая функция, которая передаётся в другую функцию в качестве аргумента.</p>
2 <p>Рассмотрим пример. Создадим функцию, которая принимает на вход обращение и имя и выводит в консоль приветствие:</p>
2 <p>Рассмотрим пример. Создадим функцию, которая принимает на вход обращение и имя и выводит в консоль приветствие:</p>
3 <p>Теперь объявим вторую функцию, которая принимает на вход функцию (колбэк) и имя. Передав колбэк в другую функцию, мы можем внутри этой функции вызывать колбэк, передавать в него аргументы, возвращать, то есть совершать нужные нам действия:</p>
3 <p>Теперь объявим вторую функцию, которая принимает на вход функцию (колбэк) и имя. Передав колбэк в другую функцию, мы можем внутри этой функции вызывать колбэк, передавать в него аргументы, возвращать, то есть совершать нужные нам действия:</p>
4 <p>Вызовем функцию sayGreeting(), передав в нее колбэк и какое-нибудь имя:</p>
4 <p>Вызовем функцию sayGreeting(), передав в нее колбэк и какое-нибудь имя:</p>
5 <p>С использованием функций обратного вызова работают многие методы массивов, такие как map(), filter(), reduce(), find(), every() и другие. Продемонстрируем на примере метода map(), который принимает колбэк, вызывает его на каждом элементе массива и результат вызова записывает в новый массив. Например, у нас есть массив чисел:</p>
5 <p>С использованием функций обратного вызова работают многие методы массивов, такие как map(), filter(), reduce(), find(), every() и другие. Продемонстрируем на примере метода map(), который принимает колбэк, вызывает его на каждом элементе массива и результат вызова записывает в новый массив. Например, у нас есть массив чисел:</p>
6 <p>Нам нужно каждое число умножить на 2. Объявим для этого функцию, которая принимает одно число и умножает его на 2:</p>
6 <p>Нам нужно каждое число умножить на 2. Объявим для этого функцию, которая принимает одно число и умножает его на 2:</p>
7 <p>Передадим функцию в качестве колбэка в метод map():</p>
7 <p>Передадим функцию в качестве колбэка в метод map():</p>
8 <p>Или более короткий вариант записи:</p>
8 <p>Или более короткий вариант записи:</p>
9 <p>Часто колбэк определяется не снаружи, а внутри метода/функции:</p>
9 <p>Часто колбэк определяется не снаружи, а внутри метода/функции:</p>
10 <p>Кроме того, функции обратного вызова используются внутри асинхронных методов. В этом случае их вызов происходит после завершения какой-то другой операции, например, после окончания времени таймера, после совершения пользователем определенного действия на странице, после получения данных с бэкенда и т.д.:</p>
10 <p>Кроме того, функции обратного вызова используются внутри асинхронных методов. В этом случае их вызов происходит после завершения какой-то другой операции, например, после окончания времени таймера, после совершения пользователем определенного действия на странице, после получения данных с бэкенда и т.д.:</p>
11  
11