странное поведение переменных
я эксперементировал с объявлением переменных:
var a=0;
b=0;
var c=0;
d=0;
function showVar(){
alert(a+"--"+b); //undefined--undefined
var a=1;
var b=1;
document.write("a="+a+" b="+b);
}
function hideVar(){
alert(c+"--"+d); // 0--0
c=1;
d=1;
document.write("c="+c+" d="+d);
}
showVar();
hideVar();
document.write("a="+a+" b="+b+" c="+c+" d="+d);
я не понимаю, прчему алерты в функциях выдают разные значения, ведь перед ними в функции ничего нет, можете объяснить? |
всё, нашел в подр. руководстве:
"Локальная переменная определена во всем теле функции, значит, глобальная переменная с тем же именем скрыта во всем теле функции. Хотя локальная переменная определена везде, до выполнения инструкции var она не инициализирована." |
| Часовой пояс GMT +3, время: 11:46. |