в глобальную область? Готовлюс к собеседованию, в прошлый раз меня поймали на этом вопросе, прошолся отладчиком, по всему коду, в локальном контексте переменная переопределяется и работа едет со значением 10, но на выходе 1. Вроде как по правилам интерпретатор поискал определение переменной а с помощью ключевого слова var внутри функции function b(), не нашел, пошел выше в родителя, нашел, переприсвоил значение, произвел мутацию (перезапись) значимого типа и завершил выполнение функции. Почему в глобальной области так и осталась единица?
var a = 1;
function b() {
a = 10;
return;
function a() {}
}
b();
А разве должна переопределяться?
потому что внутри b меняется значение у внутренней a, которая изначально определена как функция
Обсуждают сегодня