2
respostas

Uncaught ReferenceError

Olá pessoal

estou com uma dificuldade ,estudo a noite no quarto então não consigo usar sempre o microfone por isso usei uma alternativa

mas esta dando este erro

Uncaught ReferenceError:verificaSeChuteValido is not defined at semReconhecimentoDeVoz

tudo que esta comentado são as coisas para o reconhecimento de voz

quando esta tudo no mesmo arquivo js funciona, mas como muda de arquivo da o erro meu codigo do arquivo "reconhecimentoDeVoz.js":

// window.SpeechRecognition = window.SpeechRecognition || webkitSpeechRecognition;
const elementoChute = document.getElementById('Chute');
// const recognition = new SpeechRecognition();

// recognition.lang = 'pt-Br';
// recognition.start()

// recognition.addEventListener('result', onSpeak);

const valor = window.prompt('digite seu chute do numero secreto');

semReconhecimentoDeVoz(valor)

function semReconhecimentoDeVoz(chute){

    exibeChuteNaTela(chute);
    console.log(chute);
    verificaSeChuteValido(chute);
}

// function onSpeak(e){
//     chute = e.results[0][0].transcript;

//     exibeChuteNaTela(chute);
//     verificaSeChuteValido(chute);
// }

function exibeChuteNaTela (chute){
    elementoChute.innerHTML = `
    <div>Você disse:</div>
    <span class="box">${chute}</span
    `
}

agora do arquivo "validação.js"

function verificaSeChuteValido (chute){
    console.log('funcionou');
    const numero = +chute;

    if (chuteForInvalido(numero)){
        console.log('valor invalido');
    }

    if(NumeroMaiorMenor(numero)){
        console.log(`valor invalido: o valor precisa estar entre ${menorValor} e ${maiorValor}`);
    }
}

function chuteForInvalido(numero) {
    return Number.isNaN(numero);
}

function NumeroMaiorMenor (numero){
    return numero > maiorValor || numero < menorValor
}

desde já Obrigado pela ajuda!

2 respostas

Olá Alison, tudo bem?

Analisando seu código dá para perceber que o erro consta que NÃO EXISTE, ou seja, não foi definida uma função com o nome verificaSeChuteValido. Isso acontece porque essa função foi criada em outro código, neste caso, no arquivo ”validação.js”.

Dessa forma, quando você chama a função verificaSeChuteValido() dentro da outra função semReconhecimentoDeVoz(), o código não consegue ler e dá erro.

Existe algumas maneiras de contornar esse problema, porém a ideal aqui, visto que quer utilizar funções de outro arquivo JavaScript, é importar esse arquivo para o “reconhecimentoDeVoz.js”’.

Para isso vou recomendar que leia o nosso artigo “Como funciona o import e export do JavaScript?”’, escrito pelo Mario Souto, no qual poderá se aprofundar nesse conceito de uma forma mais clara e objetiva.

Em caso de mais dúvidas, me coloco à disposição.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

resolvi coocando tuso no mesmo arquivo ,deu certo, consegui completar o jogo por reconhecimento de voz e pelo teclado