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

Pq no código do IMC não foi preciso usar o parseInt?

<!DOCTYPE html>
<html>

<meta charset="utf-8">

<head>

    <title>IMC</title>

</head>

<body>

<script>

    function pularLinha() {

        document.write("<br><hr></br>");
        // função de pular duas linhas
    }

    function mostra(frase) {

        document.write(frase);
        pularLinha();
        // função que mostra o texto e pula duas linhas
    }

    function calculaImc(peso, altura) {

        return    imc = peso / (altura * altura);
        // função que calcula o IMC
    }

    var nome = prompt("Qual é o seu nome?")
    var alturaInformada = prompt(nome + ", me fale sua altura");
    var pesoInformado = prompt(nome + " agora me informe seu peso");

    var imc = Math.round(calculaImc(pesoInformado,alturaInformada));

    mostra(nome + ", seu IMC é " + imc);

</script>

</body>

</html>
1 resposta
solução!

Boa noite Rafael,

No exemplo acima não foi necessário pois apesar de você estar fazendo cálculos matemáticos com strings o javascript foi capaz de deduzir que as strings eram números, e dessa maneira foi capaz de executar o calculo.

Dê uma olhada nos cálculos abaixo:

"90" * "90"
8100
"90" / "9"
10
"90" - "9"
81
"90" + "9"
"909"

O javascript é capaz de deduzir que estamos fazendo cálculos mesmo quando usamos strings quando se trata de divisão, multiplicação e subtração. Porém se tentarmos fazer uma adição com strings o javascript irá concatenar os dois números.

De qualquer maneira é sempre bom usarmos a função parseInt ou parseFloat para garantirmos que nossas variáveis são realmente números e não dependermos da dedução do javascript em situações assim.

Abraços