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

Comparação no if não esta dando certo

Bom Dia. Eu andei mexendo no meu código para exercitar a aprendizagem e eu descobri que quando eu armazeno o valor do input (var valor = entrada.value;) em uma variável e peço para o if comparar mesmo o valor do input sendo igual ao valor do numero sorteado o if da false. Qual o motivo para isso acontecer?

Segue o código:

<meta charset="UTF-8">

<input/>
<button>Verificar</button>

<script>

var numSorteado = Math.round(Math.random() * 5);
var entrada = document.querySelector("input");
var valor = entrada.value;// Estou armazenando o conteúdo dentro desta variavel
entrada.focus();

function verifica(){

    if(valor == numSorteado){

        alert("Você acertou! O numero sorteado foi " +numSorteado);

    }else{

        alert("Você errou! O numero sorteado foi " +numSorteado);

    }

    entrada.value = "";
    entrada.focus();
}

var botao = document.querySelector("button");
botao.onclick = verifica;

</script>
3 respostas
solução!

Bom dia Bruno!

Você guardou o valor da caixa e depois mesmo que digite novos valores a comparação usará o valor inicial. É por isso que a variável valor deve receber o valor da caixa dentro da função para que guarde o valor mais atual toda vez. Pegou a ideia?

Isso mesmo Professor!

Boa noite a todos!

Muito obrigado professor eu entendi!