2
respostas

Não consigo entender return!! Alguém explica pfv

Esse é o código que eu fiz durante a aula, pra se facilitar a explicação... mas ficou bom?

<meta charset="UTF-8">

<script>

        function pulaLinha() {
            document.write("<br>");
        }
        function mostra(frase) {
            document.write(frase);
        }
        function calculaImc(peso, altura) {
            var meuImc = Math.round(peso / (altura * altura));
            return meuImc;
        }

    mostra("<h1>" + "Calculando IMCs!" + "</h1>" + "<hr>");
    var meuImc = calculaImc(31.5, 1.42);
    var imcAmigo = calculaImc(37, 1.48);

    mostra("O meu imc é, aproximadamente, " + meuImc);
    pulaLinha();
    mostra("O imc do meu amigo é, aproximadamente, " + imcAmigo);

</script>
2 respostas

Não sei se entendi bem a pergunta, porém pelo meu entendimento você está com dificuldade para entender a expressão:

return 

Então, primeiramente você deve entender que uma função normalmente funciona como uma máquina, você coloca algo nela e depois que ela fazer o que tem que fazer, ela vai te devolver algo, essa palavra return nada mais é do que a forma que nós temos de dizer para a máquina (função) o que ela vai retornar pra gente, ou seja, se temos uma função que calcula IMC, é de se esperar que a função retorne o valor do IMC não é ? Então temos que usar a expressão return em alguma variável para avisar pra função que é aquilo que temos que devolver.

Vamos entender a função que o seu professor fez:

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

A função recebe um peso e uma altura, portanto quem chamou a função passa o seu peso e sua altura na expectativa de receber um valor de IMC como retorno, na primeira linha você calcula o IMC da pessoa e armazena na variável meuImc. Agora que temos o IMC armazenado, temos que dar um jeito de retornar ele pra quem pediu, então pra fazer isso nós colocamos return e escrevemos o nome da variável na frente.

É importante ressaltar que o return é muito mais complexo que isso, as vezes as funções não retornam nada, as vezes as funções retornam outras funções, as vezes a função retorna ela mesma, então temos muitos casos de uso, porém por enquanto é importante que você entenda o básico de pra que serve o return pra continuar seu aprendizado, espero que tenha te ajudo, qualquer coisa pode comentar.

Fala, Gabriel! Tudo bom?

Ficou ótimo!!!

Vamos entender esse return

Quando você colocou o returndentro da função

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

Você quis que, ao chamar o calculaImcele fizesse o cálculo, guardasse dentro da variável meuImc e o returndevolvesse esse resultado.

Se você retirar o returnverá que o resultado será undefined porque ele não está devolvendo o calculo que espera.

O que pode estar confundindo um pouco foi o fato de ter colocado duas variáveis com o mesmo nome

 var meuImc = Math.round(peso / (altura * altura));

Executa uma fórmula de calculo

var meuImc = calculaImc(31.5, 1.42);

Guarda o resultado desse calculo na variável. Aqui você poderia colocar outro nome que teria o mesmo resultado. Por exemplo ìmcPessoal

var imcPessoal = calculaImc(31.5, 1.42);

Só não esqueça de alterar o nome no mostratambém!!!

Espero ter ajudado, Gabriel!

Bons estudos!!!

;-)