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

22 lines
No EOL
790 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Ответ: `Hello`.
```js
//+ run
function f() {
alert( this );
}
var user = {
g: f.bind("Hello")
}
user.g();
```
Так как вызов идёт в контексте объекта `user.g()`, то внутри функции `g` контекст `this = user`.
Однако, функции `g` совершенно без разницы, какой `this` она получила.
Её единственное предназначение -- это передать вызов в `f` вместе с аргументами и ранее указанным контекстом `"Hello"`, что она и делает.
Эта задача демонстрирует, что изменить однажды привязанный контекст уже нельзя.