call, apply и bind используются для управления контекстом выполнения (значением this) функции и передачи аргументов.
call: Вызывает функцию с заданным значением this и аргументами, переданными по отдельности.
javascript
apply: Вызывает функцию с заданным значением this и аргументами, переданными в виде массива (или массивоподобного объекта).
javascript
bind: Создает новую функцию, которая при вызове имеет заданное значение this и предварительно заданные аргументы. Сама функция при этом не вызывается немедленно.
javascript
Сравнительная таблица:
| Метод | Передача аргументов | Возврат | Вызов |
|---|---|---|---|
call | По отдельности | Результат выполнения функции | Немедленный |
apply | Массив | Результат выполнения функции | Немедленный |
bind | По отдельности | Новая функция с привязанным контекстом | Создает функцию, не вызывая немедленно |