Почему этот простой код из JavaScript неправильно поднимает переменную? - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь понять подъем переменных JavaScript, и меня путают с документацией, указанной в Mozilla.

Документация, на которую я ссылаюсь, здесь :

console.log(x === undefined); // true
var x = 3;

Я использую консоль разработчика в Google Chrome, чтобы протестировать этот код последней версии. Когда я выполняю приведенный выше код, мне возвращается false , когда в документации Mozilla указано, что он должен быть возвращен true .

code example

Этот вывод выше означает, что x определенно устанавливается в 3 до запуска console.log (). Эта документация, указанная Mozilla, неверна или я чего-то не понимаю?

Ответы [ 2 ]

0 голосов
/ 08 января 2019

я запускаю его в Mozilla и Chrome, и это правда: в первый раз ответ верен, потому что он не определен, но будет неверным в следующий раз. ответ не меняется после очистки консоли, и вы должны перезапустить браузер.

0 голосов
/ 08 января 2019

Он вернет true при первом запуске, потому что x начинается с undefined. После запуска
var x = 3 значение x устанавливается равным 3, поэтому при следующем запуске сравнения console.log(x === undefined) возвращается false, поскольку x больше не undefined.

...