en.javascript.info/01-js/06-objects-more/05-bind/02-write-to-object-after-bind/solution.md
Ilya Kantor f301cb744d init
2014-10-26 22:10:13 +03:00

791 B
Raw Blame History

Ответ: Hello.

//+ run
function f() {
  alert( this );
}

var user = {
  g: bind(f, "Hello")
}
      
user.g();

Так как вызов идёт в контексте объекта user.g(), то внутри функции g контекст this = user.

Однако, функции g совершенно без разницы, какой this она получила.

Её единственное предназначение -- это передать вызов в f вместе с аргументами и ранее указанным контекстом "Hello", что она и делает.

Эта задача демонстрирует, что изменить однажды привязанный контекст уже нельзя.