Oii Shayane, tudo bem?
O que está acontecendo é um problema relacionado ao escopo de variáveis. Isso é, onde as variáveis são enxergadas. Quando declaramos uma variável dentro de um bloco, ela só pode ser enxergada dentro deste bloco e em seus sub-blocos, e não nos blocos superiores à ela.
Nesse caso, a variável imc
está sendo declarada dentro da função calculaImc()
, e por este motivo ela só é acessível dentro deste bloco de função, e ao tentar mostrá-la no console o JavaScript não consegue encontrá-la. Para resolver isso, podemos fazer de duas maneiras:
1 - Incorporar dentro da função, a parte onde é mostrado na tela o valor calculado:
function calculaImc (peso, altura) {
var imc = peso / (altura * altura);
mostra("O imc calculado é " + imc);
}
Agora, estamos dentro do mesmo bloco e a variável é visível.
2 - Retornar o valor calculado na função, e utilizar esse retorno para mostrar na tela:
function calculaImc (peso, altura) {
var imc = peso / (altura * altura);
return imc;
}
mostra("O imc calculado é " + calculaImc(peso, altura));
Assim, utilizamos o valor de retorno da função para mostrar na tela qual o valor calculado!
Em caso de dúvidas, estou à disposição!
Um grande abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!