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

Não entendi a ordem impressa a partir das instruções do código

Estava fazendo uns testes dentro da função calculaImc, e não entendi porque o código imprimiu: teste1 O meu IMC é : teste2

ao invés de: O meu IMC é : teste1 teste2

<meta charset="UTF-8">

<script>

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

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

    function calculaImc(altura, peso) {

        var imc = peso / (altura * altura);
        mostra("teste1");
        return "teste2";
    }

    var imcCalculado = calculaImc(1.77, 75);


    mostra("O meu IMC é : " + imcCalculado);

</script>
1 resposta
solução!

Camila,

Os códigos são executados na sequência em que foram explicitados.

1) Inicialmente, você define 3 funções: pulaLinha(), mostra(frase) e calculaImc(altura, peso).

2) Depois chama a função calculaImc(altura, peso) e joga o valor realizado dentro dessa função na variável imcCalculado.

3) Ou seja, quando você chama o 2) você realiza todos os passos dentro de calculaImc() que é:

  • 1º calcula o peso e armazena na variável imc;
  • chama a função mostra ("teste1"), que basicamente imprime a frase "teste1" e chama outra função que pulaLinha;
  • retorna o valor "teste2"

4) E por último, você chama novamente o mostra("O meu IMC é : " + imcCalculado). Onde é impresso "O meu IMC é : teste"

A saída do seu código sempre vai ser teste1 O meu IMC é : teste2, porque :

"teste1" --> saída realizada dentro da função calculaImc() -- mostra("teste1")

para depois

realizar

return "teste2";

que é atribuído à variável imcCalculado --> "teste2"

que posteriormente você chama novamente dentro

mostra ("O meu IMC é : " +** imcCalculado**);

teste1 O meu IMC é : teste2

Aí para sair como você quer "O meu IMC é : teste1 teste2" existem várias possibilidades.

Tirar o mostra("teste1) do imc, retornar o "teste 1" ao inves do teste 2 e concatenar "teste2" na sua chamada final do mostra.. E por aí vai..


 ....
    return "teste1";
}

mostra("O meu IMC é : " + imcCalculado + "teste2");

Espero ter ajudado, bons estudos.