Почему моя глобальная переменная затеняется перед локальным объявлением?
x = 1;
alert(x);
var y = function() {
alert(x);
var x = 2;
alert(x);
}
y();
Результат 3 предупреждений:1
, undefined
, 2
(Chrome 25)
Мой вопрос: почему второе предупреждение не определено? Почему не 1? Не существует ли глобальной переменной x?