en.javascript.info/1-js/6-objects-more/1-object-methods/4-object-property-this/solution.md
2015-03-10 12:36:58 +03:00

872 B
Raw Blame History

Ответ: пустая строка.

//+ 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, которая равна пустой строке.