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

Meu codigo nao compila

Olá, meu codigo no mundo javascript nao esta compilando.

segue o código abaixo:

<meta charset="UTF-8">

<input/>
<button>Entre com o segredo </button>

<script>
var segredos = [5,7,10,2];
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("voce acertou!!");
              achou = true;
              break;
        }

        }
    }
    if(achou == false){
        ("VOCÊ ERROUU!!!!");
    }
    input.value = "";
    input.focus();
};
var button = document.querySelector("button");

button.onclick = verifica;
</script>
4 respostas
solução!

Oi Paulo, tudo bem? Primeiramente, devo chamar sua atenção para o seguinte: código JavaScript é interpretado e não compilado.

Os problemas é que você tem uma chave } a mais fechando a função verifica antes da hora e você esqueceu o alert pra exibir a mensagem Voce errou!

Vou deixar o código corrigido aqui pra você comparar.

var segredos = [5,7,10,2];
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("voce acertou!!");
              achou = true;
              break;
        }

        }

    if(achou == false){
        alert("VOCÊ ERROUU!!!!");
    }
    input.value = "";
    input.focus();
}
var button = document.querySelector("button");

button.onclick = verifica;

Paulo boa tarde,

Esse trecho está com um } a mais

for(var posicao = 0;posicao < segredos.lenght;posicao++){
        if(input.value == segredos[posicao]){
              alert("voce acertou!!");
              achou = true;
              break;
        }

        }
    }

Olá Paulo,

sempre que o código não estiver funcionando no seu navegador, você pode apertar a tecla F12 e olhar a aba console que ela te mostra os erros de sintaxe que ele encontrou no código. Aqui no caso tem 3 coisas que precisam de ajuste. Primeiro tem uma chave sobrando dentro do seu for, inclusive a própria identação ajuda a ver:

for(var posicao = 0;posicao < segredos.lenght;posicao++) {
        if(input.value == segredos[posicao]) {
              alert("voce acertou!!");
              achou = true;
              break;
        }
        }
}

O segundo problema é no for, que o t e o h para pegar o tamanho do segredos está invertido, é segredos.length ao invés de segredos.lenght. Por fim, faltou só chamar o alert para mostrar a mensagem que o usuário errou.

Obrigado Pessoal, ajudou muito.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software