2
respostas

Qual a melhor forma?

No script abaixo eu organizei o HTML com espaços e coloquei uma mensagem informando as regras do jogo. Também coloquei a variável "segredo" dentro da função "verifica". Mas a minha pergunta é a seguinte: O que seria mais performático, ou qual a melhor prática? Declarar as variáveis "input" e "botton" antes da função ou depois dela?

<meta charset="utf-8">

<br><input/><br><br>
<button>Compare com o meu segredo!</button><br><br>
("Digite um valor de 1 a 10")

<script>
function verifica() {
    var segredo = Math.round(Math.random() * 10);
    if(input.value == segredo){
    alert("Você ACERTOU!");
    } else {
    alert("Você errou!");
    }
    input.value = "";
    //Aqui nós declaramos um valor vazio para a o input.value, para "limpar" a barra de texto.
    input.focus();
    //Aqui nós destacamos a caixa de texto para o usuário.    
}
var input = document.querySelector("input");
input.focus();
var button = document.querySelector("button");
button.onclick = verifica;
</script>
2 respostas

Bom dia.

Neste caso não é questão de performance, mas sim de funcionamento.

O HTML é lido de cima para baixo. Assim, o correto é como você fez, pois o seu botão precisa da função , e ela precisa estar declarada antes de ser referenciada/utilizada.

Bons estudos!

Olá Nigel,

As duas maneiras são corretas e não existe diferença considerável de performance de uma pra outra. Já quanto colocar a variável segredo dentro da função verifica, só mudará o comportamento do programa, onde a cada chamada da função(clique do botão) será gerado um segredo novo, o que antes só aconteceria se a página fosse atualizada.

Obrigado, Marcus.