en.javascript.info/1-js/6-objects-more/7-bind/2-write-to-object-after-bind/solution.md
2015-01-14 10:23:45 +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", что она и делает.

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