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

IMC não é mostrado na tela

É só uma duvido do porque acontece isso: Se eu deixar o meu código assim:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br><br>");

    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();

    }

   function calculaImc(peso, altura){

       var imc = peso / (altura * altura);

   }

   calculaImc(100, 1.92);

   mostra("O imc do Rodolfo é: " + imc);

</script>

nada é mostrado na tela. Mas se eu deixar igual o professor deixou:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br><br>");

    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();

    }

   function calculaImc(peso, altura){

       var imc = peso / (altura * altura);
       mostra("O imc do Rodolfo é: " + imc);

   }

   calculaImc(100, 1.92);

</script>

O resultado aparece na tela! Eu queria tirar essa duvida do porque essa parte do código "mostra()" em lugar diferente interfere no que vai aparecer na tela? Não sei se minha duvida foi muito clara! Obrigado!

1 resposta
solução!

Olá Rodolfo,

Acontece que quando você chama a função mostra() ela precisa de uma variável imc que só está definida dentro da função calculaImc(). Ela não pode ser utilizada fora dessa função.

Mas para frente você vai aprender mais sobre isso. Se tiver interesse em saber agora um pouco mais a respeito pesquise no Google sobre variável local e variável global.

Bons estudos!