Показать сообщение отдельно
  #1 (permalink)  
Старый 27.11.2013, 10:50
Новичок на форуме
Отправить личное сообщение для nvzc Посмотреть профиль Найти все сообщения от nvzc
 
Регистрация: 27.11.2013
Сообщений: 2

Значение в переменной
Всем привет!
В видеокурсе Ильи, был примерчик примерно такого содержания
var name = "Вася"; 
     function whatIsName() {
           alert(name);
           var name = "Петя";  
     }   
     whatIsName(); // здесь получаем undefined



Здесь все понятно почему.
Если var name = "Петя"; объявить до Алерта, тогда получим "Петя"

А не понятно следующее:
Убираем эту строку var name = "Петя"; из функции.

Итого у нас есть:
1. Глобальная переменная name
2. Функция декларейшн
3. Результат в алерте "Вася"

Вопросы:
почему если объявить нейм=вася после функции, результат не undefined, а тоже Вася? переменная ведь проинициализировалась и находится с undefined, и значение попадает уже после функции как и было с Петей


function whatIsName() {
           alert(name);
      //     var name = "Петя";
     }    
     whatIsName(); // ВАСЯ
     var name = "Вася";


var name = "Вася";
     function whatIsName() {
           alert(name);
      //     var name = "Петя";
     }    
     whatIsName(); // ВАСЯ

Последний раз редактировалось nvzc, 27.11.2013 в 10:53.
Ответить с цитированием