Olá, Arthur! Tudo bem?
No primeiro print que você enviou, notei o erro de "ReferenceError: Cannot access 'numeroSecreto' before initialization" no console do navegador. Isso geralmente ocorre quando tentamos usar uma variável antes de ela ser definida.
No seu código, você definiu a variável numeroSecreto
na linha 1 do arquivo app.js
e tentou usá-la dentro da função verificarChute()
. O problema aqui é que a função aleatorio()
que inicializa numeroSecreto
pode não ter sido executada antes de verificarChute()
ser chamada, dependendo de como e quando cada função é chamada no seu HTML.
Para resolver esse problema, você pode garantir que numeroSecreto
seja inicializado antes de qualquer função que o utilize ser chamada. Uma maneira de fazer isso é chamar a função que inicializa numeroSecreto
diretamente no carregamento da página, ou antes de qualquer interação que possa chamar verificarChute()
. Aqui está uma sugestão de como você pode modificar o seu código:
numeroSecreto
no carregamento da página:
Você pode usar o evento DOMContentLoaded
para garantir que numeroSecreto
seja inicializado assim que o documento HTML estiver completamente carregado.document.addEventListener('DOMContentLoaded', function() {
let numeroSecreto = aleatorio();
// Outras inicializações ou funções que dependem de numeroSecreto
});
function aleatorio() {
return parseInt(Math.random() * 10 + 1);
}
function verificarChute() {
console.log(numeroSecreto);
}
numeroSecreto
seja passado como argumento para verificarChute()
:
Outra abordagem é modificar a função verificarChute()
para aceitar numeroSecreto
como um argumento. Isso garante que você sempre tenha o valor correto no momento da chamada da função.let numeroSecreto = aleatorio(); // Isso ainda está no escopo global
function aleatorio() {
return parseInt(Math.random() * 10 + 1);
}
function verificarChute(numero) {
console.log(numero);
}
// Em algum lugar no seu HTML ou JavaScript, você chama verificarChute passando numeroSecreto
verificarChute(numeroSecreto);
Essas mudanças devem ajudar a resolver o problema de referência que você está enfrentando. Lembre-se de ajustar o restante do seu código conforme necessário para se adaptar a essas mudanças.
Espero ter ajudado e bons estudos!