70 votes

$ contre jQuery

Nous passons de MooTools à jQuery au travail. J'ai un collègue qui m'a dit de ne jamais utiliser $ comme préfixe lors de l'utilisation d'une méthode jQuery (si j'ai bien compris). Il a dit qu'à la place, la manière la plus appropriée ou la plus sûre (je ne l'ai pas vraiment suivi) était d'utiliser jQuery. .

Ainsi, au lieu de $.plugin() , jQuery.plugin() doit être utilisé, par exemple.

Pourquoi serait-ce le cas ? Quelle distinction fait-il avec $ / jQuery ? Dois-je oublier le signe du dollar comme accesseur ? Seulement dans certaines circonstances ?

84voto

Rafael Points 9065

Pourquoi serait-ce le cas ? Sa distinction $/jQuery est-elle correcte ?

Parce que presque chaque bibliothèque JavaScript définit une fonction appelée $. Lorsque vous avez de nombreuses bibliothèques dans un document, des conflits peuvent apparaître. Si vous êtes sûr que jQuery est et sera toujours le seul script définissant cette fonction, je n'aurais rien contre l'utilisation de $.

jQuery définit une solution intéressante pour résoudre les conflits : jQuery.noConflict . En utilisant cette fonction, vous pouvez définir votre propre nom, par lequel jQuery sera accessible, par ex.

var $jq = jQuery.noConflict(true);

L'appel de cette fonction aura pour effet de restaurer les valeurs précédentes des variables $ et jQuery qui existaient avant l'initialisation de jQuery. Je ne me souviens pas si d'autres bibliothèques essaient de résoudre les conflits de noms.

Si vous voulez utiliser $ au lieu de jQuery en permanence, vous pouvez exécuter votre code dans une portée séparée et privée qui contient la définition de $ en utilisant une fonction auto-invoquante.

(function($){
   // your code goes here
   $("body").append("<p>Hello World!</p>");
})(jQuery); // or even jQuery.noConflict()

11voto

Matt Lacey Points 50756

$ est aliasé à jquery et pourrait, en théorie, être aliasé à quelque chose d'autre dans une autre bibliothèque incluse ou script, ce qui peut entraîner une confusion ou pire. Si vous utilisez uniquement jquery, l'utilisation de $ devrait convenir.

4voto

Omar Abid Points 3617

C'est pour éviter tout conflit avec d'autres bibliothèques comme Prototype qui utilise le même $.

Je préfère le $, et il n'y a aucun problème à l'utiliser si vous n'utilisez que Jquery.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X