2
respostas

Alternativa ao uso do &&

Ao invés de usar o && é mais econômico criar um intervalo do imc if(18<=imc<=35){ mostra(nome + ", tu ta de boa na lagoa"); }

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    function mostra(frase) {

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

    function calculaImc(altura, peso) {

        return peso / (altura * altura);
}

var nome = prompt("Informe o seu nome");
alert("Seja bem vindo " + nome);
var alturaInformada = prompt(nome + ", informe sua altura");
var pesoInformado = prompt(nome + ", informe seu peso");

var imc = calculaImc(alturaInformada, pesoInformado);

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

if(imc > 35){
    mostra(nome + ", tu é gordo pacarai");
}
if (imc < 18.5){
    mostra(nome + ", tu é magro pacarai");
}
if(18<=imc<=35){
    mostra(nome + ", tu ta de boa na lagoa");
}

if(imc > 35){
    alert(nome + ", tu é gordo pacarai");
}
if (imc < 18.5){
    alert(nome + ", tu é magro pacarai");
}
if(18.5<=imc<=35){
    alert(nome + ", tu ta de boa na lagoa");
}

</script>
2 respostas

Rodrigo, boa tarde!

De fato esse método funciona, e não a nada de errado, acho importante ressaltar é a facilidade de leitura, dependendo da experiência do desenvolvedor seja mais fácil a leitura com o &&.

Mas isso é minha opinião e depende de pessoa pra pessoa

Continue assim e bons estudos!

Boa noite, Rodrigo! Como vai?

Em qual navegador e em qual versão dele vc testou esse código? Eu fiz um teste aqui rápido com o trecho a seguir.

var imc = 50;

console.log(18.5<=imc<=35);

E o resultado foi true para os valores 10, 20 e 50 da variável imc. Ou seja, eu imagino que vc tenha obtido um falso positivo.

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!