en.javascript.info/1-js/5-functions-closures/1-global-object/1-window-and-variable/solution.md
2015-03-10 12:36:58 +03:00

496 B
Raw Blame History

Ответ: 1.

//+ run  untrusted refresh
if ("a" in window) {
  var a = 1;
}
alert( a );

Посмотрим, почему.

На стадии подготовки к выполнению, из var a создается window.a:

// window = {a:undefined}

if ("a" in window) { // в if видно что window.a уже есть
  var a = 1; // поэтому эта строка сработает
}
alert( a );

В результате a становится 1.