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