1
resposta

[Bug] duvidas a execução js

meu codigo esta idêntico ao das aulas, só que a partir do momento que iniciei com isso "IF" na fuction verificar chute. meu texto parou de aparecer.
let numeroSecreto = geraNumeroAleatorio();
function exibirTextoNatela(tag, texto) {
let campo = document.querySelector(tag);
campo.innerHTML = texto;
}
exibirTextoNatela('h1', 'jogo do numero secreto');
exibirTextoNatela('p', 'escolha um número entre 1 e 10');
function verificarChute() {
let chute = document.querySelector ('input').value;
if (chute == numeroSecreto) {
exibirTextoNatela('h1', 'Você acertou!');
exibirTextoNatela('p', 'Parabéns, você escolheu o número correto.');
}

}
function gerarNumeroAleatorio(){
return parseInt(Math.random() * 10 + 1);
}

1 resposta

Olá, Lucas! Tudo bem?

Obrigado por compartilhar sua dúvida no fórum.

O problema
O erro não está no if. O que está acontecendo é um erro de nome de função, que faz o JavaScript parar de executar o código — por isso o texto deixa de aparecer.

Você declarou a função assim:

function gerarNumeroAleatorio() {
  return parseInt(Math.random() * 10 + 1);
}

Mas chamou ela assim no início do código:

let numeroSecreto = geraNumeroAleatorio();

Perceba que aqui falta o “r” (geraNumeroAleatoriogerarNumeroAleatorio).

Por que isso quebra tudo
Quando o JavaScript tenta executar uma função que não existe, ele gera um erro e interrompe a execução do script. Com isso, nenhuma função abaixo é executada, inclusive as que exibem texto na tela.

Como corrigir
Basta deixar o nome da função igual na chamada:

let numeroSecreto = gerarNumeroAleatorio();

Depois disso, o if vai funcionar normalmente e o texto voltará a aparecer.

Aqui vai uma dica: sempre que algo “para de funcionar do nada”, abra o Console do navegador (F12). Erros de função inexistente aparecem lá na hora e facilitam muito o debug.

Espero ter te ajudado, conte com o fórum!

Abraços e bons estudos!