en.javascript.info/1-js/6-objects-more/7-bind/2-write-to-object-after-bind/solution.md
2015-02-19 23:57:02 +03:00

790 B
Raw Blame History

Ответ: Hello.

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

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

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

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

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

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