bagerman
@bagerman

Это тоже hoisting (поднятие) переменной?

Привет всем!

Не могу понять, почему так :

Когда запускаешь код в консоли первый раз, выводится undefined:
console.log(x);//undefined
console.log(x);//undefined
console.log(x);//undefined
console.log(x);//undefined
console.log(x);//undefined

var x = 5;

второй раз запускаю:
console.log(x);//5
console.log(x);//5
console.log(x);//5
console.log(x);//5
console.log(x);//5

var x = 5;


Почему так? Это hoisting (поднятие переменной) как внутри, в функциях?

Спасибо
  • Вопрос задан
  • 1097 просмотров
Решения вопроса 2
@gracer
Если вы прописываете этот код в консоли не обновляя страницу, то в итоге получается вы ввели такой код:

console.log(x);//undefined
console.log(x);//undefined
console.log(x);//undefined
console.log(x);//undefined
console.log(x);//undefined

var x = 5;

console.log(x);//5
console.log(x);//5
console.log(x);//5
console.log(x);//5
console.log(x);//5

var x = 5;


В общем всё логично.
Ответ написан
gleber1
@gleber1
1)Не объявленная переменная/несуществующая-undifined
2)Вот ты ее уже объявил
3) Все логи вернули естественно значение ее
4)Ты ее переопределил , это уже никак не сказывается на значениях выше
----
На сколько я сам понимаю поднятие только в функциях работает
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@tomcat1911
Нет, тут у тебя просто x остался определен.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы