JavaScript 'içando' [duplicado]
Esta questão já tem uma resposta aqui:
Escopo e levantamento de funções Javascript 15 respostasEu encontrei o içamento de JavaScript e não descobri como esse trecho de código realmente funciona:
var a = 1;
function b() {
a = 10;
return;
function a() {}
}
b();
alert(a);
Eu sei que declaração de função como (function a() {}
) vai ser içada para o topo da funçãob
escopo, mas não deve sobrepor o valor dea
(porque as declarações de função substituem as declarações de variáveis, mas não a inicialização da variável), então eu esperava que o valor do alerta fosse 10 em vez de 1 !!