en.javascript.info/1-js/6-objects-more/5-bind/2-write-to-object-after-bind/solution.md
Ilya Kantor 87bf53d076 update
2014-11-16 01:40:20 +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", что она и делает.

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