Não entendi porque colocar a variável "achou = true"" depois do "alert ("Você acertou")" e antes do "break".
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(input.value == segredos[posicao]) {
alert("você acertou!!");
achou = true;
break;
}
}
Se já tem um "break" não era pra parar? Fiz o teste e tirei o "achou = true" e quando acerta o número aparece, "você acertou!!!" e em seguida aparece "você errou!!". Mesmo assim não entendi, se acerta o número não era pra para por conta do "break"?
<meta charset="UTF-8">
<input/>
<button>Compare com o segredo</button>
<script>
var segredos = [2,5,8,1];
var input = document.querySelector("input");
input.focus();
function verifica() {
var achou = false;
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(input.value == segredos[posicao]) {
alert("você acertou!!");
achou = true; // Essa parte que não entendi //
break;
}
}
if(achou == false) {
alert("Você errou!!!");
}
input.value = "";
input.focus();
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>