1. Lors de la concaténation de chaînes dans des navigateurs de version inférieure (tels que IE6, IE7, etc.), l'utilisation de la méthode de jointure du tableau est beaucoup plus efficace que l'utilisation du signe + pour se connecter (tels que ['aaa', 'bbb', 'ccc'].join () plus efficace que 'aaa'+'bbb'+'ccc');
2. Tableau :
Pop est plus efficace que Shift, et Push est plus efficace que Unshift. Ceci est important pour concevoir une structure de tas binaire. Il est préférable de placer le plus grand ou le plus petit élément à la fin du tableau.
3. Il est préférable d'utiliser les opérations de décalage lors de l'arrondi des nombres :
1,1 >> 0 ;
4. Utilisez des quantités directes pour créer un tableau et un objet :
var a = [];
var o = {};
5. N'imbriquez pas trop de niveaux d'objet pour réduire les recherches d'objets :
N'utilisez pas abcde, cette méthode de conception obtient l'objet e.
6. La valeur correspondante de la valeur clé, comparée au cas de commutation, la correspondance de la valeur clé, plus efficace que le cas de commutation, a été testée par divers navigateurs, vous pouvez lire l'article sur cette comparaison, petite expérience javascript ;
7. Si vous utilisez jq, il existe également une comparaison entre $('xxxx').empty().append('xxxxxxx'); et $('xxxxx').html('xxxxx');, le résultat est $ ('xxxx').empty().append('xxxxxxx'); gagne, l'adresse de l'article est une petite expérience jQuery ;
8. Boucle
En JavaScript, nous pouvons utiliser trois boucles : for(;;), while() et for(in). Parmi ces trois boucles, for(in) est extrêmement inefficace car elle doit interroger la clé de hachage. peut Il doit être utilisé le moins possible. Les performances des boucles for(;;) et while doivent être considérées comme fondamentalement équivalentes (lorsqu'elles sont utilisées au quotidien).
Si une variable de boucle est incrémentée ou décrémentée, n'attribuez pas de valeur à la variable de boucle seule. Utilisez l'opérateur ++ ou -- imbriqué lors de sa dernière lecture.
Si vous souhaitez comparer avec la longueur du tableau, vous devez au préalable placer l'attribut de longueur du tableau dans une variable locale pour réduire le nombre de requêtes.
9. Variables locales et variables globales
La vitesse d'accès des variables locales est plus rapide que celle des variables globales, car les variables globales sont en fait membres de l'objet global, tandis que les variables locales sont placées sur la pile de la fonction.
10. N'utilisez pas Eval
Utiliser eval équivaut à appeler à nouveau le moteur d'interprétation pour exécuter le contenu au moment de l'exécution, ce qui prend beaucoup de temps. À l'heure actuelle, les modèles de fonctions peuvent être implémentés à l'aide de fermetures prises en charge par JavaScript (pour plus de détails sur les fermetures, veuillez vous référer au contenu pertinent sur la programmation fonctionnelle) ;
11. Concaténation de chaînes
Si vous ajoutez une chaîne, il est préférable d’utiliser l’opération s+=anotherStr au lieu de s=s+anotherStr ;
12. Convertissez les nombres en chaînes et utilisez "" + 1. Même si cela semble un peu moche, c'est en fait le plus efficace, en termes de performances :
("" +) > String() > .toString() > new String()
Cet article est en fait quelque peu similaire à la « quantité directe » ci-dessous. Essayez d'utiliser les opérations internes qui peuvent être utilisées au moment de la compilation pour être plus rapides que les opérations utilisateur utilisées au moment de l'exécution.
String() est une fonction interne, elle est donc très rapide, tandis que .toString() doit interroger la fonction dans le prototype, elle n'est donc pas aussi rapide que new String() est utilisée pour renvoyer une copie exacte ;
13. Convertir des nombres à virgule flottante en nombres entiers. Beaucoup de gens aiment utiliser parseInt(). En fait, parseInt() est utilisé pour convertir des chaînes en nombres, et non entre des nombres à virgule flottante et des nombres entiers. Math.floor() ou Math.round().
14. Opération de traversée de chaîne
Pour effectuer des opérations de boucle sur des chaînes, telles que le remplacement et la recherche, des expressions régulières doivent être utilisées, car la vitesse de boucle de JavaScript lui-même est relativement lente et le fonctionnement des expressions régulières est une API écrite en langage C et les performances sont très bonnes. ;
15. Minuterie
Si vous ciblez du code qui s'exécute en permanence, vous ne devez pas utiliser setTimeout, mais setInterval. setTimeout doit réinitialiser une minuterie à chaque fois ;
Mise à jour..., restez à l'écoute !