1
resposta

chamada de função

Prof. Gostaria de saber por que a constante (inciarOuPausarBt) foi chamada dentro da função zerar, pois eu testei ela dentro da função iniciarOuPausar e deu certo, pela lógica deveria ser chamada dentro do if desta última no caso:

function iniciarOuPausar() { if(intervaloId){ audioPausa.play() inciarOuPausarBt.textContent = 'Começar' zerar() return } audioPlay.play() intervaloId = setInterval(contagemRegessiva, 1000) inciarOuPausarBt.textContent = 'Pausar'

Pois quando a função estiver sendo executada no modo pausa é que será dado play novamente.
1 resposta

Olá, Carlos.

Tudo bem?

A constante iniciarOuPausarBt foi chamada dentro da função zerar() porque essa função é responsável por "resetar" o temporizador, ou seja, parar a contagem e preparar tudo para um novo início. Nesse contexto, faz sentido que o botão volte a exibir o texto "Começar", indicando para o usuário que ele pode iniciar a contagem novamente.

Por outro lado, a função iniciarOuPausar() tem a responsabilidade de alternar entre o início e a pausa do temporizador. Quando o temporizador está ativo (ou seja, intervaloId é verdadeiro), a função pausa a contagem, chama a função zerar() e retorna. Quando o temporizador está pausado (ou seja, intervaloId é falso), a função inicia a contagem e muda o texto do botão para "Pausar".

Dessa forma, a chamada iniciarOuPausarBt.textContent = 'Começar' dentro da função zerar() garante que, sempre que o temporizador for zerado (seja porque o tempo acabou ou porque o usuário pausou a contagem), o botão esteja pronto para um novo início. E a chamada iniciarOuPausarBt.textContent = 'Pausar' dentro da função iniciarOuPausar() garante que, quando o temporizador estiver ativo, o botão indique que o usuário pode pausá-lo.

Espero que essa explicação tenha esclarecido sua dúvida. Continue explorando e testando o código, isso é uma excelente forma de aprendizado! Espero ter ajudado e bons estudos!