2
respostas

É realmente necessário usar a tag Return nesse caso?

É realmente necessário usar o return?

Eu não usei eles e deu certo:


<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    }

      function mostra(frase) {

       document.write(frase);
       pulaLinha();

    }

    function calculaImc (peso , altura) {

        var imc = Math.round (peso / (altura * altura));
        mostra ("O imc do " + pessoa + " é " + imc);
    }


var pessoa = ("Flavio");
var imcFlavio = calculaImc (155, 1.81);

var pessoa = ("Lucas");
var imcLucas = calculaImc (189, 2.90);


</script>
2 respostas

O ideal é usar o return para qu e a função devolva o valor e o valor seja exibido pelo código que chamou a função. O valor devolvido pela função pode ser aproveitado em outras operações. Por exemplo: se a função devolver o valor e o valor ficar armazenado em uma variável é possível comparar o IMC de Flávio e Lucas. Mas, do jeito que você fez funciona com esta ressalva.

<meta charset="UTF-8">

<script>

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

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

    function calculaImc (peso , altura) {
        var imc = Math.round (peso / (altura * altura));
    return imc;
    }

var pessoa = ("Flavio");
var imcFlavio = calculaImc (155, 1.81);
mostra ("O imc do " + pessoa + " é " + imcFlavio);

var pessoa = ("Lucas");
var imcLucas = calculaImc (189, 2.90);
mostra ("O imc do " + pessoa + " é " + imcLucas);

</script>

Oi Pablo Vinícius de Almeida Gomes Ferreira a declaração return não é uma tag, ela finaliza a execução de uma função e especifica os valores que devem ser retornados para onde a função foi chamada. No seu código você não está fazendo a impressão do imc com o mostra fora das funções você já está imprimindo dentro da função por isso os resultados estão aparecendo, mas se você imprimir o resultado dessa variável imcFlavio ou imcLucas vai verificar que não tem nada dentro delas, está como undefined pois nada foi retornado da função.

Espero ter ajudado e bons estudos.