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

Porque usar RETURN nesse código e no outro código não é necessario?

Neste código não foi necessário o uso do return para que fosse mostrado o resultado correto que eu queria.

<meta charset="UTF-8">

<script>

   function pularLinha() {
       document.write("<br><br>")
   };

   function mostra(frase) {
       document.write(frase)
       pularLinha();
   };

     function calculaImc(altura, peso){

         var imc = Math.round(peso/(altura*altura));
         mostra("IMC é " + imc);

     };

      var imcRonaldo = calculaImc(1.78,88);

</script>

Já nesse código é necessário o uso do return para ter o resultado esperado.

<meta charset="UTF-8">

<script>
    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    function calculaImc(altura, peso) {

        var imc = Math.round(peso / (altura * altura));
        return (imc);
    }

    var imcCalculado = calculaImc(1.77, 75);
    mostra("O meu IMC é : " + imcCalculado);
</script>

A minha duvida é, por que uma eu preciso usar o return e no outro código não precisei para ter o resultado? Eu sei que posso mudar o código para que não fosse necessário o uso do return, mas eu quero saber o motivo que foi necessário eu usar o return em um código e no outro não, pois na minha cabeça os dois códigos são bem parecidos e com a mesma função, só que digitado de formas diferentes. Obrigado.

1 resposta
solução!

Olá Alexandre, tudo bem?

No primeiro código você não utiliza o return, mas você imprime o valor calculado do imc na função mostra() dentro da função de calculaImc(). Se você der um console.log(imcRonaldo) verá que a variável imcRonaldo não guarda valor nenhum, pois você não retornou o resultado da função calculaImc para essa variável.

Já no segundo código, a variável imcCalculado recebe o retorno da função e em seguida é passada para função mostra().

Esses dois links podem te ajudar a entender melhor o uso do return:

Funções

Return

Espero ter te ajudado, fique a vontade para perguntar caso tenha ficado alguma dúvida.

Bons estudos!!