Maison >interface Web >js tutoriel >22 suggestions sur l'optimisation des performances jquery_jquery
Tout d'abord, gardez à l'esprit que jQuery est du javascript. Cela signifie que nous devons adopter les mêmes conventions de codage, guides de style et meilleures pratiques.
Tout d'abord, si vous êtes un débutant en javascript, je vous recommande de lire "24 meilleures pratiques JavaScript pour les débutants". Il s'agit d'un didacticiel javascript de haute qualité. Il est préférable de le lire avant de vous lancer dans jQuery.
Lorsque vous êtes prêt à utiliser jQuery, je vous recommande fortement de suivre ces directives :
1.Cache les variables
La traversée du DOM coûte cher, alors essayez de mettre en cache les éléments réutilisés.
2. Évitez les variables globales
jQuery Comme pour javascript, en général, il est préférable de s'assurer que vos variables sont dans la portée de la fonction.
3. Utiliser la nomenclature hongroise
Ajoutez le préfixe $ devant les variables pour identifier facilement les objets jQuery.
4. Utiliser la chaîne var (mode var unique)
Pour combiner plusieurs instructions var en une seule instruction, je recommande de mettre les variables non attribuées à la fin.
5. Veuillez utiliser « on »
Dans la nouvelle version de jQuery, le plus court on("click") est utilisé pour remplacer des fonctions comme click(). Dans les versions précédentes, on() était bind(). Depuis jQuery 1.7, on() est la méthode préférée pour attacher des gestionnaires d'événements. Cependant, par souci de cohérence, vous pouvez simplement utiliser la méthode on() ensemble.
$first.hover(function(){
$first.css('border','1px solid red');
})
$first.on('hover',function(){
$first.css('border','1px solid red');
})
6. Simplifiez le javascript
En général, il est préférable de combiner les fonctions autant que possible.
7. Fonctionnement de la chaîne
Il est très simple d'implémenter des opérations de chaînage de méthodes dans jQuery. Profitez-en ci-dessous.
8. Maintenir la lisibilité du code
En plus de rationaliser le code et d'utiliser le chaînage, le code peut devenir difficile à lire. L’ajout de pincements et de sauts de ligne peut faire des merveilles.
L'évaluation de court-circuit est une expression qui est évaluée de gauche à droite, à l'aide des opérateurs && (ET logique) ou || (OU logique).
10. Sélectionnez le raccourci
Une façon de rationaliser votre code consiste à tirer parti des raccourcis de codage.
[code]
//Oups
if(collection.length > 0){..}
11. Séparer les éléments lors d'opérations lourdes
Si vous prévoyez d'effectuer de nombreuses opérations sur les éléments DOM (définir successivement plusieurs attributs ou styles CSS), il est recommandé de détacher d'abord les éléments puis de les ajouter.
$element=$containerLi.first();
//... De nombreuses opérations complexes
$element=$containerLi.first().detach();
//... De nombreuses opérations complexes
$container.append($element);
12. Mémoriser les compétences
Vous n'avez peut-être pas d'expérience dans l'utilisation des méthodes dans jQuery, assurez-vous de consulter la documentation, il existe peut-être un moyen meilleur ou plus rapide de l'utiliser.
13. Éléments parents mis en cache à l'aide de sous-requêtes
Comme mentionné précédemment, la traversée du DOM est une opération coûteuse. Une approche typique consiste à mettre en cache les éléments parents et à réutiliser ces éléments mis en cache lors de la sélection des éléments enfants.
Mettre le sélecteur universel dans un sélecteur descendant a des performances terribles.
15. Évitez les sélecteurs universels implicites
Les sélecteurs universels sont parfois implicites et difficiles à détecter.
16. Sélecteur d'optimisation
Par exemple, le sélecteur d'identifiant doit être unique, il n'est donc pas nécessaire d'ajouter des sélecteurs supplémentaires.
17. Évitez les sélecteurs d'identification multiples
Il est souligné ici que le sélecteur d'ID doit être unique, qu'il n'est pas nécessaire d'ajouter des sélecteurs supplémentaires et qu'il n'est pas nécessaire d'avoir plusieurs sélecteurs d'ID descendants.
18. S'en tenir à la dernière version
Les nouvelles versions sont généralement meilleures : plus légères et plus efficaces. Évidemment, vous devez considérer la compatibilité du code que vous souhaitez prendre en charge. Par exemple, la version 2.0 ne prend pas en charge Internet Explorer 6/7/8.
19. Abandonner les méthodes obsolètes
Il est très important de faire attention aux méthodes obsolètes à chaque nouvelle version et d'essayer d'éviter d'utiliser ces méthodes.
20. Utiliser le CDN
Le CND de Google garantit que le cache le plus proche de l'utilisateur est sélectionné et répond rapidement. (Veuillez rechercher l'adresse vous-même lorsque vous utilisez Google CND. L'adresse ici ne peut pas être utilisée. Nous recommandons le CDN fourni par le site officiel de jquery).
21. Combinez le code natif jQuery et javascript si nécessaire
Comme mentionné ci-dessus, jQuery est javascript, ce qui signifie que tout ce que vous pouvez faire avec jQuery peut également l'être avec du code natif. Le code natif (ou vanilla) peut être moins lisible et maintenable que jQuery, et le code est plus long. Mais cela signifie aussi plus efficace (généralement plus le code sous-jacent est proche, moins il est lisible, plus les performances sont élevées, par exemple : l'assemblage, qui nécessite bien sûr des personnes plus puissantes). Gardez à l'esprit qu'aucun framework ne peut être plus petit, plus léger et plus efficace que le code natif (remarque : le lien de test n'est plus valide, vous pouvez rechercher le code de test en ligne).
Compte tenu des différences de performances entre vanilla et jQuery, je recommande fortement de tirer le meilleur parti des deux et d'utiliser (si possible) du code natif équivalent à jQuery.
22. Dernier conseil
Enfin, j'ai enregistré cet article dans le but d'améliorer les performances de jQuery et quelques autres bonnes suggestions. Si vous souhaitez approfondir ce sujet, vous y trouverez beaucoup de plaisir. N'oubliez pas que jQuery n'est pas obligatoire, juste une option. Réfléchissez à la raison pour laquelle vous souhaitez l'utiliser. Manipulation du DOM ? ajax ? pochoir? des animations CSS ? Ou un moteur sélecteur ? Peut-être qu'un microframework javascript ou une version personnalisée de jQuery serait un meilleur choix.