Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida If/else

Em um dos exercícios essa é a resposta apresentada:

<meta charset="utf-8">

<script type="text/javascript">

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

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



var numeroPensado = Math.round(Math.random() * 100);
var Chute = prompt("Já pensei. Qual você acha que é?");

    if(Chute == numeroPensado) {
        alert("Parabéns! Você acertou. Pensei no " + numeroPensado);
    }    else if(Chute > numeroPensado) {
            alert("Que pena! Você pensou em um número maior que o meu.");
        } 
            else{
                alert("Que pena! Você pensou em um número menor que o meu.");
            }



</script>

A única diferença da minha resposta é que o segundo if deles foi antecedido por um else, eu fiz um if na primeira condição, outro if na segunda seguido de um else. No fim o efeito foi o mesmo, qual seria a diferença de eu usar ou não nesse caso? Obrigado. B.

2 respostas
solução!

Quando usamos dois If's em sequencia dessa forma:

if(Chute == numeroPensado) {
        alert("Parabéns! Você acertou. Pensei no " + numeroPensado);
    }   if(Chute > numeroPensado) {
            alert("Que pena! Você pensou em um número maior que o meu.");
        }

Mesmo que a primeira condição seja verdadeira, o computador irá executar a comparação do segundo bloco, já utilizando da forma:

if(Chute == numeroPensado) {
        alert("Parabéns! Você acertou. Pensei no " + numeroPensado);
    }    else if(Chute > numeroPensado) {
            alert("Que pena! Você pensou em um número maior que o meu.");
        }

Se a primeira condição for verdadeira, ao identificar um else ele irá ignorar a comparação. Os resultados serão os mesmos, mas da segunda forma você acaba poupando processamento.

Muito obrigado!! Mais esclarecedor que isso impossível.