Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Criar querySelector em função tem uma boa performance?

Durante a explicação da Moni, ela cria o querySelector dos campos da página (url, imagem e título) dentro de uma função. Nem terminei de assistir o vídeo para saber o restante da implementação, mas já fiquei com uma dúvida mais conceitual: colocar o querySelector dentro de uma função que pode ser acionada diversas vezes, como por exemplo ao clique de um botão, é uma boa alternativa de performance?

Pergunto por que eu estava criando o querySelector fora, pensando que o melhor seria declarar o campo que quero "escutar" apenas uma vez, ao invés de carrega-lo a cada clique no botão submit.

Obrigado

2 respostas
solução!

Usar querySelector dentro de uma função que pode ser acionada várias vezes, como ao clicar em um botão, pode não ser a abordagem mais eficiente em termos de desempenho, especialmente se você estiver selecionando os mesmos elementos repetidamente. Aqui estão algumas considerações:

Desempenho: O querySelector percorre o DOM toda vez que é chamado para encontrar o elemento desejado. Se você estiver selecionando o mesmo elemento várias vezes, isso pode resultar em uma sobrecarga desnecessária, especialmente se o DOM for grande. Memória: Selecionar elementos repetidamente pode consumir mais memória do navegador, pois o navegador mantém uma referência para cada elemento selecionado. Reusabilidade: Colocar o querySelector dentro de uma função pode tornar seu código mais modular e reutilizável, especialmente se você precisar selecionar elementos diferentes com base em diferentes eventos. Alternativas: Para melhorar o desempenho, você pode considerar armazenar uma referência para o elemento desejado fora da função e reutilizá-la quando necessário. Isso evita a necessidade de percorrer o DOM repetidamente. Por exemplo, você pode fazer algo assim:

javascript Copy code const meuElemento = document.querySelector('#meuElemento');

function minhaFuncao() { // Use meuElemento aqui }

// A função é acionada, e não há necessidade de chamar querySelector novamente botao.addEventListener('click', minhaFuncao); Essa abordagem é mais eficiente, pois evita a repetida travessia do DOM para encontrar o mesmo elemento. No entanto, se você precisar selecionar elementos diferentes em cada chamada da função, pode ser necessário usar querySelector dentro da função.

Em resumo, enquanto colocar querySelector dentro de uma função pode tornar seu código mais modular, você deve considerar cuidadosamente o impacto no desempenho e na eficiência do seu código, especialmente se estiver selecionando os mesmos elementos repetidamente.

Atenciosamente, Danilo O. Pinheiro CEO DevsFree & MasterMind | Arquiteto De Software | Arquiteto De Soluções | Engenheiro de Nuvem | Arquiteto Corporativo De Software | Gerente de Projetos | Líder técnico | Arquiteto Tecnológico

Contato: whatsapp Email: Gmail

Facebook| Instagram | Linkedin | Twitter | Youtube

Perfeito, Danilo. Muito obrigado!