Сегодня я был полностью удивлен, когда увидел, что глобальная переменная имеет значение undefined
в определенном случае.
Пример:
var value = 10;
function test() {
//A
console.log(value);
var value = 20;
//B
console.log(value);
}
test();
Дает вывод как
undefined
20
Вот почему механизм JavaScript рассматривает глобальное значение как undefined
. Я знаю, что JavaScript является интерпретированным языком. Как он может рассматривать переменные в функции?
Является ли это ошибкой от механизма JavaScript?