Читаю Современный учебник JavaScript с сайта
https://learn.javascript.ru/
В одном из заданий "В какую переменную будет присвоено значение?"
var value = 0;
function f(){
if(1){
value = true;
}else{
var value=false;
}
alert(value);
};
f();
Есть коментарий по этому заданию
В какую переменную будет присвоено значение?
Результатом будет true, т.к. var обработается и переменная будет создана до выполнения
кода.
Соответственно, присвоение value=true сработает на локальной переменной, и alert
выведет true.
Внешняя переменная не изменится.
P.S. Если var нет, то в функции переменная не будет найдена. Интерпретатор обратится за
ней в windowи изменит её там.
Так что без var результат будет также true, но внешняя переменная изменится
Но что интересует так это дебагер который на моменте завершения функции показывает что в глобальной переменной value присвоено значение true
Или возможно в глобальной области видимости найти значение value = 0? во вкладке scope