Até agora, aprendemos a criar elementos dinamicamente e a usar delegação de eventos.

Mas existe uma pergunta importante que todo desenvolvedor precisa fazer:

Como manipular o DOM sem deixar a página lenta?

Nesta aula, vamos entender o impacto das operações no DOM e aprender práticas que melhoram a performance das aplicações.

🎯 Objetivo da aula

Ao final desta aula, você será capaz de:

  • Entender por que o DOM é “caro”
  • Evitar manipulações desnecessárias
  • Reduzir reflows e repaints
  • Escrever código mais eficiente
  • Melhorar a experiência do usuário

Por que o DOM pode ser lento?

O DOM não é apenas JavaScript — ele representa a estrutura visual da página.

Sempre que você:

  • Cria um elemento
  • Insere no DOM
  • Altera estilos
  • Remove elementos

O navegador pode precisar:

  • Recalcular o layout (reflow)
  • Redesenhar a tela (repaint)
Essas operações são mais custosas do que simples cálculos em JavaScript.

Erro comum: manipular o DOM em excesso

Veja este exemplo:

 const lista = document.getElementById("lista");

for (let i = 0; i < 100; i++) {
const li = document.createElement("li");
li.textContent = "Item " + i;
lista.appendChild(li);
}

Funciona, mas cada appendChild toca o DOM.

Boa prática: minimizar acessos ao DOM

Uma estratégia melhor é criar tudo primeiro e inserir de uma vez:

 
  const lista = document.getElementById("lista"); 
  const fragment = document.createDocumentFragment();
  for (let i = 0; i < 100; i++) {
    const li = document.createElement("li");
    li.textContent = "Item " + i;
    fragment.appendChild(li);
  }
  lista.appendChild(fragment);
O DocumentFragment permite montar o conteúdo fora do DOM e inserir tudo de uma vez.

Evite consultas repetidas

Outro erro comum:

 
  for (let i = 0; i < 10; i++) 
    { 
      document.getElementById("status").textContent = i; 
    } 

Melhor:

 
      const status = document.getElementById("status");
      for (let i = 0; i < 10; i++) 
        {
        status.textContent = i;
        }

Prefira classes a estilos inline

Alterar vários estilos inline causa múltiplos repaints:

 
  element.style.color = "red"; element.style.fontSize = "20px"; element.style.margin = "10px"; 

Melhor:

 
    .destaque { color: red; font-size: 20px; margin: 10px; } 
 element.classList.add("destaque"); 

Leitura e escrita no DOM

Misturar leitura e escrita no DOM pode causar problemas de performance:

 
      const altura = element.offsetHeight; 
      element.style.height = altura + 10 + "px"; 

Sempre que possível:

  • Leia tudo primeiro
  • Depois escreva tudo

Delegação de eventos também ajuda

Como vimos na aula anterior:

  • Menos listeners
  • Menos memória
  • Mais performance

Performance no DOM não é só sobre velocidade — é sobre boas decisões.

Código simples e organizado tende a ser mais performático.

Resumo da aula para nunca mais esquecer

  • Manipular o DOM é custoso
  • Evite alterações repetidas
  • Use DocumentFragment quando possível
  • Reduza consultas ao DOM
  • Prefira classes CSS a estilos inline

Na próxima aula, vamos aprender sobre manipulação de classes CSS, fechando esse bloco com chave de ouro.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

Considerando todas as adaptações de jogos de videogame para o cinema, a mais bem sucedida foi Lara Croft: Tomb Raider, lançado em 2001 e que faturou 274 milhões de dólares. Ele foi dirigido por Simon West e estrelado pela bela Angelina Jolie.


O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.


O primeiro jogo a fazer uso de uma Inteligência Artificial foi o Mouse in the Maze, criado em 1955, na União Soviética. Você pode saber mais sobre ele clicando aqui.


Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.


O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.