1
resposta

Nao entendo o porque da funçao

function tocaSom(idElementoAudio) { document.querySelector(idElementoAudio).play(); }

const listaDeTeclas = document.querySelectorAll('.tecla');

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);
}
tecla.onkeydown =  function(){
    if(){
        tecla.classList.add('ativa');
    }

}
tecla.onkeyup = function(){
    tecla.classList.remove('ativa');
}

}

A PROFESSORA NAO EXPLICA MAIS EU TO UMA DUVIDA!, por que q ao apertar alguma tecla aciona a funçao ? ja que ela ta dentro de um for ele permite? e porque q o numero da tecla é passado para contador sendo que contador é 0 definido no começo?

1 resposta

Olá Natanael, tudo bem?

Em relação a sua dúvida, vou dividir a explicação em duas partes para ficar mais fácil de entender, ok?

Falando da função, o evento .onclick faz com que toda vez que clicarmos aconteça alguma coisa. Se tratando do código acima, o evento tecla.onclick chama a função que por sua vez é executada. Dentro disso o for existe apenas para chamar a função quantas vezes for necessário, e não existe nenhuma restrição para o seu uso nesse caso.

Já em relação ao contador, o que é passado é a expressão condicional contador < listaDeTeclas.length, ou seja, enquanto o contador for menor do que a quantidade de teclas apertadas o laço for continua sendo executado.

Grande abraço e bons estudos!

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