странное поведение переменных
я эксперементировал с объявлением переменных:
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, время: 21:13. |