1
resposta

[Dúvida] Declaração de Função

Funcionou tanto colocando tudo em uma função (1) e passando os parâmetros na invocação, quanto fazendo funções individuais, sem parâmetro(2). qual método mais recomendado?

(1)

function aluraMidi (){
document.querySelector('#som_tecla_pom').play();
document.querySelector('#som_tecla_clap').play();
document.querySelector('#').play();
document.querySelector('#').play();
}

let botaoClap = document.querySelector('.tecla_clap');
botaoClap.addEventListener('click' , function(){
aluraMidi('#som_tecla_clap');
});

(2)

  function tocaSomPom(){
  document.querySelector('#som_tecla_pom').play();
}

let botaoPom = document.querySelector('.tecla_pom');
botaoPom.addEventListener('click' , function(){
  tocaSomPom();
});
1 resposta

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:

  1. 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.
  2. 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!