Почему теневая переменная оценивается как неопределенная, если она определена вне области видимости?
Рассмотрим следующий фрагмент кода:
var outside_scope = "outside scope";
function f1() {
alert(outside_scope) ;
}
f1();
Выход для этого кода заключается в том, что в окне предупреждения отображается сообщение «вне рамок ", Но если я немного изменю код как:
var outside_scope = "outside scope";
function f1() {
alert(outside_scope) ;
var outside_scope = "inside scope";
}
f1();
в окне предупреждения отображается сообщениене определено», Я мог бы понять логику, если он отображаетне определено» в обоих случаях. Но этого не происходит. Это отображаетне определено» только во втором случае. Почему это?
Заранее спасибо за помощь!