1. Ao concatenar strings em navegadores de versões anteriores (como IE6, IE7, etc.), usar o método join do array é muito mais eficiente do que usar o sinal + para conectar (como ['aaa', 'bbb', 'ccc'].join() mais eficiente que 'aaa'+'bbb'+'ccc');
2. Matriz:
Pop é mais eficiente que shift e push é mais eficiente que unshift. Isso é importante para projetar uma estrutura de heap binária. É melhor colocar o elemento maior ou menor no final da matriz.
3. É melhor usar operações de deslocamento ao arredondar números:
1.1 >> 0;
4. Use quantidades diretas para criar Array e Object:
var a = [];
var o = {};
5. Não aninhe muitos níveis de objetos para reduzir as pesquisas de objetos:
Não use abcde, este método de design obtém o objeto e.
6. O valor correspondente ao valor-chave, comparado com o switch case, o valor-chave correspondente, mais eficiente do que o switch case, foi testado por vários navegadores, você pode ler o artigo sobre esta comparação, pequeno experimento javascript;
7. Se você usar jq, também há uma comparação entre $('xxxx').empty().append('xxxxxxx'); e $('xxxxx').html('xxxxx');, o resultado é $ ('xxxx').empty().append('xxxxxxx'); o endereço do artigo é jQuery small experiment;
8. Laço
Em JavaScript, podemos usar três loops: for(;;), while() e for(in). Entre esses três loops, for(in) é extremamente ineficiente porque precisa consultar a chave hash. lata Deve ser usado o menos possível. O desempenho do loop for(;;) e while deve ser considerado basicamente equivalente (quando usado no uso diário).
Se uma variável de loop for incrementada ou decrementada, não atribua um valor apenas à variável de loop. Use o operador ++ ou -- aninhado quando for lido pela última vez.
Se você quiser comparar com o comprimento do array, você deve colocar o atributo de comprimento do array em uma variável local com antecedência para reduzir o número de consultas.
9. Variáveis locais e variáveis globais
A velocidade de acesso das variáveis locais é mais rápida que a das variáveis globais, porque as variáveis globais são, na verdade, membros do objeto global, enquanto as variáveis locais são colocadas na pilha da função.
10. Não use Eval
Usar eval equivale a chamar novamente o mecanismo de interpretação para executar o conteúdo em tempo de execução, o que leva muito tempo. Neste momento, os modelos de função podem ser implementados usando encerramentos suportados por JavaScript (para detalhes sobre encerramentos, consulte o conteúdo relevante sobre programação funcional);
11. Concatenação de strings
Se você estiver anexando uma string, é melhor usar a operação s+=anotherStr em vez de s=s+anotherStr;
12. Converta números em strings e use "" + 1. Embora pareça um pouco feio, na verdade este é o mais eficiente, em termos de desempenho:
("" +) > String() > .toString() > nova String()
Na verdade, este artigo é um pouco semelhante à "quantidade direta" abaixo. Tente usar operações internas que podem ser usadas em tempo de compilação para serem mais rápidas do que as operações do usuário usadas em tempo de execução.
String() é uma função interna, portanto é muito rápida, enquanto .toString() precisa consultar a função no protótipo, portanto não é tão rápido new String() é usado para retornar uma cópia exata;
13. Converter números de ponto flutuante em números inteiros. Muitas pessoas gostam de usar parseInt(). Na verdade, parseInt() é usado para converter strings em números, não entre números de ponto flutuante e inteiros. Math.floor() ou Math.round().
14. Operação de passagem de string
Para realizar operações de loop em strings, como substituição e pesquisa, devem ser usadas expressões regulares, porque a velocidade do loop do próprio JavaScript é relativamente lenta, e a operação de expressões regulares é uma API escrita em linguagem C, e o desempenho é muito bom ;
15. Temporizador
Se você tem como alvo um código que está em execução constante, não deve usar setTimeout, mas sim setInterval. setTimeout precisa redefinir um cronômetro todas as vezes;
Atualizando..., fique atento!