Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Curiosidade sobre a leitura de código

O instrutor disse em uma parte do curso que o código é lido de cima para baixo.

if ( alturaEhValida && pesoEhValido) {
        var imc = calculaImc(peso, altura);
        tdImc.textContent = imc;
    }
}
    function calculaImc(peso, altura){

Nesta parte ele cria o function após sua chamada dentro no if. O código funciona porém ainda não entendi o porque funciona. Não era para dar erro?

1 resposta
solução!

Boa tarde, Lucas! Como vai?

O mestre Flávio está correto! O JavaScript é lido de cima pra baixo, da esquerda pra direita. Contudo, essa linguagem tem um recurso muito importante chamado hoisting que eleva/iça funções e variáveis globais pra memória logo antes de começar a executar o código em si. Por isso esse trecho de código que vc postou funciona. Esse tema será abordado em cursos mais avançados. Por enquanto, foque nos recursos básicos da linguagem que é o assunto principal desse curso. E, mais a frente, vc poderá no momento certo se aprofundar mais nesse tema.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!