Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!