3
respostas

Diferença entre funções com retorno e sem

Olá, tudo bem? Eu espero que sim! Fiquei com uma pequena dúvida nesta unidade. Por que as funções "mostra" e "pulaLinha" não precisam retornar seus conteúdos mas a função para calcular o IMC precisa ? Desde já agradeço !

3 respostas

Oi, td e vc? Uma funcao nao precisa obrigatoriamente retornar um resultado ela pode nao devolver nada tambem, no caso as funcoes "mostra" e "pulaLinha" foram criadas para centralizar o codigo de imprimir e pular a linha

Olá Vinicius, as funções que executam instruções como document.write e console.log dentro do seu escopo não precisam receber o comando return para executar seu bloco de código. Espero ter contribuído para sanar sua dúvida. Bons estudos!

Olá, Vinicius, a declaração return finaliza a execução de uma função e especifica os valores que devem ser retonados para onde a função foi chamada.

No caso do cálculo do imc a variável recebe a função de calcular e, ao final, deve devolver um resultado dentro da própria variável. Só que é preciso declarar na função que ela deve devolver o valor de imc. Então, para isso, utiliza-se a palavra return (ou "retorna") e ele retornará o resultado do cálculo do imc, que será exibido na tela pela função mostra().

function calculaImc(altura, peso) {

        var imc = peso / (altura * altura);
        return imc;

}

var imcFlavio = calculaImc(1.71, 73);

mostra(imcFlavio);

Caso não utilizássemos o return, o resultado mostrado seria "undefined" (valor não definido), pois não haveria o que ser mostrado.

Já, no caso das funções mostra() e pulaLinha(), não há necessidade de retornar valor algum para que o programa seja efetivamente executado.

function pulaLinha() {

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

}

function mostra(frase) {

        document.write(frase);
        pulaLinha();
}

Espero ter ajudado. Bons estudos!