No código final o botão/função de "verifica" deixa de funcionar.
Uncaught SyntaxError: Unexpected end of input
para
button.onclick = verifica;
No código final o botão/função de "verifica" deixa de funcionar.
Uncaught SyntaxError: Unexpected end of input
para
button.onclick = verifica;
<script>
function sorteia() {
return Math.round(Math.random() * 10);
}
function sorteiaNumeros(quantidade) {
var segredos = [];
var numero = 1;
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
if(numeroAleatorio !== 0 ) {
var achou = false;
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == numeroAleatorio){
achou = true;
break;
}
}
if(achou == false) {
segredos.push(numeroAleatorio);
numero++;
}
}
}
return segredos;
var segredos = sorteiaNumeros(3);
console.log(segredos);
var input = document.querySelector("input");
input.focus();
function verifica() {
var achou = false;
for(var posicao = 0; posicao < segredos.lenght; posicao++) {
if(input.value == segredos[posicao]) {
alert("Você ACERTOU!");
achou = true;
break;
}
}
if(achou == false) {
alert("Você ERROU!");
}
input.value = "";
input.focus();
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>
O que acontece é que "verifica" é uma função. E pra executar ele você precisa colocar dois parênteses no final dela.
O correto seria:
button.onclick = verifica();
É uma boa observação Vinícius. Entretanto na própria aula é instruído para que seja removido os parênteses do verifica, para que sua função seja incluída de fato dentro do "onclick ".
E mesmo inserindo os parênteses nesse caso, o mesmo "erro" é mostrado no console.
*obs: no Download oficial dos arquivos da aula, o programa funciona normalmente, entretanto nos códigos especificados durante a aula escrita, temos que lidar com esse erro, sem que haja nenhuma diferença entre eles.
Nesse caso você precisa postar o HTML também, o erro pode estar nele.
Resolvido (mas não totalmente compreendido, haha)
Aparentemente estava faltando um fechamento "}" na função "sorteiaNumeros" . Com isso o problema do erro foi resolvido, mas não explica o porque de a mensagem de erro aparecer na última linha do código, fora da própria função.
De qualquer forma, everything's working.