1
resposta

Como a função lembra os dados certos?

Se o while ja faz toda a iteração assim que a pagina é carregada, como ele lembra exatamente das informações de cada tecla e executa o som certo? é criado na memoria listeners com as informações de cada iteração? Não entendi exatamente como funciona isso assim que clico na tecla, como o javascript faz essa chamada

1 resposta

Boa noite, o segredo tá na função onclick. Ao executar o while, cada iteração gera uma função callback pra cada tecla com o id do som correto, por isso que dá certo.

Código

A primeira iteração cria uma função na primeira tecla com o id definido, aí a segunda iteração cria na segunda tecla com o segundo id. É como se criasse várias funções assim:

tecla[1].onclick = function (){
        tocaSom(#som_tecla_1)
        }
tecla[2].onclick = function (){
        tocaSom(#som_tecla_2)
        }
tecla[3].onclick = function (){
        tocaSom(#som_tecla_3)
        }

Só que ao invés de fazer essa repetição de código, você usa o while pra facilitar.