22 lines
880 B
Markdown
22 lines
880 B
Markdown
**Ответ: пустая строка.**
|
||
|
||
```js
|
||
//+ run
|
||
var name = "";
|
||
|
||
var user = {
|
||
name: "Василий",
|
||
|
||
*!*
|
||
export: this // (*)
|
||
*/!*
|
||
};
|
||
|
||
alert(user.export.name);
|
||
```
|
||
|
||
Объявление объекта само по себе не влияет на `this`. Никаких функций, которые могли бы повлиять на контекст, здесь нет.
|
||
|
||
Так как код находится вообще вне любых функций, то `this` в нём равен `window` (при `use strict` было бы `undefined`).
|
||
|
||
Получается, что в строке `(*)` мы имеем `export: window`, так что далее `alert(user.export.name)` выводит свойство `window.name`, то есть глобальную переменную `name`, которая равна пустой строке.
|