1
resposta

Dúvida sobre parâmetros

Oi pessoal. Eu tô com uma dificuldade grande em entender como funciona os parâmetros. Principalmente na linha 2, o "seletorAudio".

function tocaSom (seletorAudio) {

const elemento = document.querySelector(seletorAudio);

Como eles se relacionam??? Desde já, obrigado.

1 resposta

Oi Douglas, tudo bem ?

Desculpe a demora em responder!

Sua pergunta é bem interessante! Em JavaScript, parâmetros em funções são valores que podem ser passados para a função durante sua chamada, a fim de permitir que a função realize operações em cima desses valores.

No projeto desenvolvido neste curso temos o seguinte código para a função tocaSom()

function tocaSom(seletorAudio){

    const elemento = document.querySelector(seletorAudio);

    if (elemento && elemento.localName === 'audio') {
         elemento.play();
      } else {
         alert('Elemento não encontrado')
      }
 }   

O parâmetro genérico seletorAudio colocado dentro dos parênteses da função tocaSom() se relaciona diretamente com a constante (const elemento) criada dentro dessa função. Atribuído a essa constante, temos a propriedade document.queryselector(seletorAudio) que irá buscar o arquivo informado como parâmetro no documento HTML.

Por ser um parâmetro genérico, ela está inserida na função e na constante apenas para indicar que é preciso ao chamar a função adicionar um valor dentro dos parênteses para que a função execute os comandos.

Como exemplo temos a função aplicada na estrutura de repetição (for):

for(let contador=0; contador<listaDeTeclas.length; contador++){
     const tecla = listaDeTeclas[contador]
     const instrumento = tecla.classList[1];

     const idAudio = `#som_${instrumento}`;  //template string;

     tecla.onclick = function (){
         tocaSom(idAudio);
     }
}

Nela podemos perceber que o parâmetro idAudio adicionado no interior da tocaSom() faz com que ao buscar os elementos sejam trazidos do documento HTML os áudios de cada uma das teclas do Alura Midi.

Espero ter ajudado. Caso tenha dúvidas, estarei à disposição!

Abraços!

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