Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Return sem definir o valor

Ok, fiquei um pouco confuso. Acredito que a leitura do código pelo browser seja de cima para baixo, correto? Com isso, como é possível setar o return e ele retornar certo, quando definimos o valor do imc após o término da função? Isso não deveria vir antes?

 function calculaImc (altura, peso){
    return peso / (altura * altura);
}

var meuImc = calculaImc (1.73, 95);

document.write("O meu imc é " + meuImc);
1 resposta
solução!

Olá Paulo, o código é lido de cima para baixo como você disse. Quando criamos um função, é como se ela ficasse "armazenada" esperando ser chamada.

Quando você executa a linha var meuImc = calculaImc(1.73, 95);, o navegador vai lá na função que ficou armazenada esperando ser chamada e executa todo o código contido dentro da função.

Mesmo ela sendo declarada antes, só é executada e retorna o valor quando você faz a chamada para ela.

Espero ter de ajudado.