@olya_097

Почему такой вывод получается?

function f(a, b) {
  alert( this );
  alert( a + b );
}

var g = bind(f, "Context");
g(1, 2); // выводит Context, затем 3
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 1
KickeRocK
@KickeRocK
FrontFinish
А что оно, по-вашему, должно выводить?)
function f(a, b) {
  alert( this );
  alert( a + b );
}
var g = bind(f, "Context"); // - this = "Context", для g();
g(1, 2); // выводит Context, затем 3. - как в f() и написано - сначала алертом вывели this, которому назначили Context, а потом результат сложения a(1) и b(2) = 3

Отсюда::
Метод bind() создаёт новую функцию, которая при вызове устанавливает в качестве контекста выполнения this предоставленное значение. В метод также передаётся набор аргументов, которые будут установлены перед переданными в привязанную функцию аргументами при её вызове.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект