if (true) {
var a = 1;
}
alert(a); // 1
В JavaScript эта конструкция эквивалентна следующему
Определение a переносится вверх (в функции под заголовок функции)
var a; // тут a = 'undefined'
if (true) {
a = 1; // тут a присваиваем значение a
}
alert(a); // 1
Если бы было так, то
if (false) {
var a = 1;
}
alert(a); // 'undefined'
так как
var a; // тут a = 'undefined'
if (false) { // сюда мы не переходим
a = 1;
}
alert(a); // 'undefined'
Комментариев нет:
Отправить комментарий