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 novice en JavaScript, je vous recommande de lire "24 meilleures pratiques pour les débutants en JavaScript". Il s'agit d'un tutoriel JavaScript de haute qualité. Il est préférable de le lire avant de contacter jQuery.
Lorsque vous êtes prêt à utiliser jQuery, je vous recommande fortement de suivre ces directives :
1. La mise en cache des variables
La traversée du DOM coûte cher, alors essayez de mettre en cache les éléments réutilisés.
h = $('#element').height();
$('#element').css('height',h-20);
// Suggestions
$element = $('#element');
h = $element.height();
$element.css('height',h-20);
$element = $('#element');
h = $element.height();
$element.css('height',h-20);
// Suggestions
var $element = $('#element');
var h = $element.height();
$element.css('height',h-20);
var premier = $('#first');
var second = $('#second');
var value = $first.val();
// Suggestion - Préfixez l'objet jQuery avec $
var $first = $('#first');
var $second = $('#second'),
var value = $first.val();
$first.click(function(){
$first.css('border','1px solid red');
$first.css('color','blue');
>});
$first.hover(function(){
$first.css('border','1px solid red');
})
// Recommandation
$first.on('click',function(){
$first.css('border','1px solid red');
$first.css(' couleur','bleu');
})
$first.on('hover',function(){
$first.css('border','1px solid red');
})
$first.click(function(){
$first.css('border','1px solid red');
$first.css('color','blue');
>});
// Suggestions
$first.on('click',function(){
$first.css({
'border':'1px solid red',
'color':'blue'
});
});
$second.html(value);
$second.on('click',function(){
alert('bonjour tout le monde');
});
$second. fadeIn('slow');
$second.animate({height:'120px'},500);
// Suggestions
$second.html(value);
$second.on('click',function(){
alert('bonjour tout le monde');
}).fadeIn('slow') .animate({height:'120px'},500);
$second.html(value);
$second.on('click',function(){
alert('bonjour tout le monde');
}).fadeIn('slow') .animate({hauteur:'120px'},500);
// Suggestions
$second.html(value);
$second
.on('click',function(){ alert('bonjour tout le monde');})
.fadeIn('slow')
.animate({height:'120px'},500);
function initVar($myVar) {
if(!$myVar) {
$myVar = $('#selector');
}
}
// Suggestions
function initVar($myVar) {
$myVar = $myVar || $('#selector');
}
if(collection.length > 0){..}
// Suggestions
if(collection.length){..>
var
$container = $("#container"),
$containerLi = $("#container li"),
$element = null;
$element = $containerLi.first();
//... De nombreuses opérations complexes
// mieux
var
$container = $("#container"),
$containerLi = $container.find("li"),
$element = null;
$element = $containerLi.first().detach();
//... De nombreuses opérations complexes
$container.append($element);
$('#id').data(clé,valeur);
// Suggestions (efficaces)
$.data('#id',key,value);
var
$container = $('#container'),
$containerLi = $('#container li'),
$containerLiSpan = $('#container li span');
// Suggestions (efficaces)
var
$container = $('#container '),
$containerLi = $container.find('li'),
$containerLiSpan= $containerLi.find('span');
$('.conteneur > *');
// Suggestions
$('.container').children();
Évitez les sélecteurs universels implicites
Les sélecteurs universels sont parfois implicites et difficiles à trouver.
// Oups
$('.someclass :radio');
// Suggestions
$('.someclass input:radio');
Optimiser les sélecteurs
Par exemple, le sélecteur Id doit être unique, il n'est donc pas nécessaire d'ajouter des sélecteurs supplémentaires.
// Oups
$('div#myid');
$('div#footer a.myLink');
// Recommandation
$('#myid');
$('#footer .myLink');
$('#extérieur #intérieur');
// Suggestions
$('#inner');
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.
$('#stuff').live('click', function() {
console.log('hourra');
});
// Suggestion
$('#stuff').on('click', function() {
console.log('hourra');
});
18. Combinez jQuery et le code natif 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 ne pas être aussi 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). N'oubliez pas qu'aucun framework ne peut être plus petit, plus léger et plus efficace que le code natif
Compte tenu des différences de performances entre vanilla et jQuery, je recommande fortement d'absorber le meilleur des deux mondes et d'utiliser (si possible) du code natif équivalent à jQuery.
19. Dernier conseil
Enfin, le but de l'enregistrement de cet article est 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.