1
resposta

[Dúvida] Sons do botão

Duvida referente ao desafio da aula 4

Não estou conseguindo entender a logica usada, pois eu quero usar uma variável que ainda não foi declarada

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Cecília!

Analisando as imagens que você compartilhou, parece que o erro Uncaught ReferenceError: intervaloId is not defined está ocorrendo porque a variável intervaloId está sendo utilizada na função iniciarOuPausar() antes de ser declarada. Isso acontece porque o JavaScript é uma linguagem de escopo e precisa que as variáveis sejam declaradas antes de serem utilizadas.

Para resolver esse problema, você precisa garantir que a variável intervaloId seja declarada no escopo apropriado, geralmente no início do seu arquivo JavaScript, para que ela esteja disponível para as funções que a utilizam. Aqui está um exemplo de como você pode fazer isso:

// Declare a variável no escopo global do arquivo
let intervaloId = null;

function iniciarOuPausar() {
    if (intervaloId) {
        musicaPausa.play();
        zerar();
        return; // early return -- circuit breaker
    }
    musicaPlay.play();
    intervaloId = setInterval(contagemRegressiva, 1000);
}

// ...resto do código...

Note que eu usei let para declarar a variável intervaloId no início do arquivo. Isso permite que a variável seja reatribuída posteriormente, o que é necessário no caso de você querer iniciar e parar o intervalo.

Certifique-se de que a declaração da variável intervaloId esteja no topo do seu arquivo JavaScript ou pelo menos antes de qualquer função que a utilize. Isso deve resolver o erro de referência que você está enfrentando.

Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

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

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software