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