A eficiência na execução do código é extremamente importante, especialmente quando uma determinada função é usada repetidamente. É comum ver chamadas de funções repetidas em estruturas JavaScript. Quando o senhor trabalha nessas estruturas, precisa garantir que tenha atingido todas as micro-otimizações possíveis. Uma micro-otimização que o senhor pode fazer é executar condicionais antes de criar uma função, em vez de cada vez que a função é executada. Deixe-me ilustrar um exemplo básico.


O ruim


Os seguintes itens seriam considerados ineficientes:

function something() {
    if('something' in obj) {
        // something
    }
    else {
        // fallback
    }
}

O código acima é ineficiente porque a condicional é executada em cada chamada da função. Vamos fazer melhor!


O bom


Em vez de executar a verificação condicional em cada chamada de função, execute a verificação condicional antes que o definir a função:

var something = ('something' in obj) ? function() {
    // something
} : function() {
    // fallback
};


Esse padrão é especialmente aplicável ao usar a detecção de recursos, ou seja, o valor da condicional nunca muda. É claro que a avaliação condicional é rápida, mas por que calcular condicionais fáceis mais de uma vez? O senhor não deveria, é claro. Tenha esse padrão em mente ao criar suas próprias estruturas: não repita o código!

  • Demonstrações favoritas de Chris Coyier’s CodePen

    David me perguntou se eu gostaria de fazer um guest post escolhendo algumas das minhas canetas favoritas do CodePen. É uma tarefa difícil! São tantas! Mas consegui escolher algumas que me surpreenderam nos últimos meses. Se o senhor…

  • Criando efeitos de paralaxe de rolagem com CSS

    Introdução Há muito tempo, os sites com o chamado efeito “parallax” são muito populares… Caso o senhor não tenha ouvido falar desse efeito, ele basicamente inclui diferentes camadas de imagens que se movem em diferentes direções ou com diferentes velocidades. Isso leva a uma…

  • Crie um elemento de formulário de seleção compatível com NoScript com um evento onChange
  • Criar um acordeão Dojo simples

    Sejamos honestos: apesar de todos nós darmos risada do quanto os acordeões JavaScript se tornaram uma emoção barata na Web, eles continuam sendo um widget útil e eficaz. Muito conteúdo, pouco espaço. A biblioteca Dijit do Dojo fornece um método incrivelmente simples pelo qual o senhor pode…