en.javascript.info/01-js/06-objects-more/01-object-methods/04-object-property-this/solution.md
Ilya Kantor f301cb744d init
2014-10-26 22:10:13 +03:00

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