Oi, Maicon, tudo bem?
Que bom que você está explorando diferentes formas de declarar funções em JavaScript! Ambas as abordagens que você mencionou têm seus méritos e podem ser usadas dependendo do contexto e da complexidade do seu código.
Vamos analisar cada uma delas:
Função única com parâmetros:
function aluraMidi(seletor){
document.querySelector(seletor).play();
}
let botaoClap = document.querySelector('.tecla_clap');
botaoClap.addEventListener('click', function(){
aluraMidi('#som_tecla_clap');
});
Vantagens:
- Reutilização: Você pode reutilizar a mesma função para tocar diferentes sons, passando apenas o seletor como parâmetro.
- Manutenção: Se precisar alterar a lógica de tocar o som, você faz isso em um único lugar.
Funções individuais sem parâmetros:
function tocaSomPom(){
document.querySelector('#som_tecla_pom').play();
}
let botaoPom = document.querySelector('.tecla_pom');
botaoPom.addEventListener('click', function(){
tocaSomPom();
});
Vantagens:
- Clareza: Cada função tem uma responsabilidade clara e específica.
- Simplicidade: Para projetos menores, essa abordagem pode ser mais fácil de entender e seguir.
Mas, qual o método mais recomendado? Depende do seu projeto! Se você tem muitos sons diferentes e quer evitar repetição de código, a primeira abordagem com parâmetros é mais eficiente. No entanto, se o projeto é pequeno e a clareza é mais importante, a segunda abordagem pode ser mais adequada.
No seu caso específico, como você está aprendendo e o exemplo é relativamente simples, ambas as abordagens são válidas. Mas, para seguir a prática recomendada de reutilização de código, eu sugeriria a primeira abordagem com parâmetros.
Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!