Действительно, эти 2 случая похожи, так что же здесь происходит?
Я думаю, что вы немного одурачены своей консолью. Ваша консоль всегда что-то регистрирует, когда вы в любом случае выполняете команду. Вы можете прочитать эту запись , чтобы лучше узнать о том, что возвращается вашей консолью по умолчанию, когда вы делаете h=1;
и var h=1;
.
почему console.log () как функция не может получить доступ к глобальной переменной h в первом примере? :
На самом деле он обращается к глобальной переменной h
. Но поскольку для h еще не присвоено значение, консольный журнал возвращает undefined
, что в основном означает, что переменная h
существует, но ее значение не определено. Если бы он не нашел переменную h
, он вместо этого возвратил бы ошибку, сообщающую, что h is not defined
, что может сбивать с толку, но не совпадает с undefined