This commit is contained in:
Ilya Kantor 2015-06-03 22:55:37 +03:00
parent f5f4acdf11
commit b6922e4933
4 changed files with 19 additions and 9 deletions

View file

@ -192,7 +192,7 @@ setTimeout(bind(user.sayHi, user), 1000);
Теперь всё в порядке!
Вызов `bind(user.sayHi, user)` возвращает такую функцию-обёртку, которая привязывает вызовет `user.sayHi` к контексту `user`. Она будет вызвана через 1000мс.
Вызов `bind(user.sayHi, user)` возвращает такую функцию-обёртку, которая привязывает `user.sayHi` к контексту `user`. Она будет вызвана через 1000мс.
Полученную обёртку можно вызвать и с аргументами -- они пойдут в `user.sayHi` без изменений, фиксирован лишь контекст.
@ -281,7 +281,7 @@ setTimeout(user.sayHi.bind(user), 1000); // аналог через встрое
Далее мы будем использовать именно встроенный метод `bind`.
[warn header="bind не похож call/apply"]
[warn header="bind не похож на call/apply"]
Методы `bind` и `call/apply` близки по синтаксису, но есть важнейшее отличие.
Методы `call/apply` вызывают функцию с заданным контекстом и аргументами.