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

Para que serve a variável "achou"?

Com relação a essa variável, não consegui compreender ela muito bem.

<meta charset="UTF-8">

<input/>
<button>Compare com meu segredo</button>


<script>    
    var segredos = [3,5,7,9];

    var input = document.querySelector("input");
    input.focus();


    function verifica(){

        var achou = false;

        for(posicao = 0; posicao < segredos.length; posicao++){

            if(input.value == segredos[posicao]) {

            alert("'VOCE ACERTOU");
            achou = true;
            break;
            }    
        }

        if (achou == false) {

            alert("Você errou.");
        }

        input.value = "";
        input.focus()
    }
     var button = document.querySelector("button");
     button.onclick = verifica;
</script>

Por que teria que ser necessário ela?

2 respostas
solução!

Oi Rafael,

Irei explicar o por que dessa variável dentro do seu código. Segue abaixo:

<meta charset="UTF-8">
<input/>
<button>Compare com meu segredo</button>

<script>    
    var segredos = [3,5,7,9];

    var input = document.querySelector ("input");
    input.focus ();

    function verifica (){

        var achou = false;

        for (posicao = 0; posicao < segredos.length; posicao++){

            if (input.value == segredos[posicao]) {
            alert("'VOCE ACERTOU");
            achou = true; //Essa variável se faz necessária para que se ele entrar neste if, logo após a impressão do "VOCE ACERTO" ele matar a continuidade do laço de repetição for devido a função break. Caso contrário ele simplesmente vai continuar a repetição verificando o input do usuário mesmo ele acertando o valor. Por isso ela foi iniciada como false.
            break;
            }    
        }

        if (achou == false) { 
            alert("Você errou.");
        }

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

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

</script>

agradeço a ajuda, ainda acho um pouco estranho, mas acredito que com o contado eu deva acostumar com esse modo.