Inicialmente os instrutores passaram dentro da funcção verificarChute() que a variável chute é igual a let chute = document.querySelector('input').value, porém depois dentro da funcção limparCampo() mudam a variável chute para chute = document.querySelector('input'). A dúvida que eu fiquei é a seguinte, quando ele faz essa troca ele não está mudando o valor do chute, mas também o tipo da variável? Quando ele declarou da primeira vez a variável era do tipo número, ou seja, só pegava o valor digitado no campo, mas agora da segunda vez, a variável chute não passou a ser o próprio elemento "input"? Isso não pode gerar problemas ? Eu não poderia colocar apenas, chute.value = '', dentro da função limparCampo():
function limparCampo() {
chute.value = '';
}
let numeroSecreto = gerarNumeroSecreto();
let tentativas = 1;
console.log(numeroSecreto);
function exibirTextoNaTela(tag, texto) {
let campo = document.querySelector(tag);
campo.innerHTML = texto;
}
function exibirMensagemInicial () {
exibirTextoNaTela('h1','Jogo do número secreto');
exibirTextoNaTela('p', 'Escolha um número entre 1 e 10');
}
exibirMensagemInicial();
function verificarChute() {
let chute = document.querySelector('input').value;
if (chute == numeroSecreto) {
let palavraTentativas = tentativas > 1 ? 'tentativas' : 'tentativa';
let mensagemTentativas = `Você descobriu o n.úmero secreto com ${tentativas} ${palavraTentativas}!`;
exibirTextoNaTela('h1', 'Acertou!');
exibirTextoNaTela('p', mensagemTentativas);
document.getElementById('reiniciar').removeAttribute('disabled');
} else {
if (chute > numeroSecreto) {
exibirTextoNaTela('p', 'O numero secreto é menor');
}
else {
exibirTextoNaTela('p', 'O número secreto é maior');
}
tentativas++;
limparCampo();
}
}
function limparCampo() {
chute = document.querySelector("input");
chute.value = '';
}