J'ai vu beaucoup de mises en œuvre JQuery de fonctions JavaScript existantes qui ne font que envelopper le code JavaScript dans une emballage JQuery et ne repose pas en réalité sur une base de JQuery pour leur opération. p>
Quels sont les avantages d'utiliser JavaScript sous forme de plugin JQuery?
S'il n'y en a aucun est une perte de vitesse pour utiliser un plugin JQuery qui aurait pu facilement être implémenté à l'extérieur de l'emballage, tout aussi bien? P>
Merci d'avance (juste essayer d'apprendre quelque chose ici). p>
mis à jour avec exemple: strong>
http://plugins.jquery.com/project/base64
était à l'origine em>
http://www.webtoolkit.info/javascript-base64.html P >
3 Réponses :
Une grande partie de jQuery est juste un emballage intelligent autour des fonctions JavaScript existantes. (j'exagère, mais seulement un peu.) P>
L'utilité principale de jQuery est de pouvoir combiner ses divers composants. Si je peux sélectionner des éléments avec un sélecteur de jQuery, puis effectuer une action sur ces éléments directement par une fonction jQuery, qui est préférable d'avoir à extraire les éléments DOM sous-jacents et les manipuler manuellement, par exemple. P>
Donc, cela dépend vraiment de ce que les fonctions que vous voyez-vous envelopper. Certains d'entre eux pourraient très bien ne pas ajouter de la valeur, et les auteurs sont simplement habitués à tout être en jQuery. (Nous voyons certainement ce phénomène sur StackOverflow - les personnes qui ne peuvent pas trouver une fonction standard JavaScript simplement parce qu'il est pas dans la documentation de jQuery). Dans d'autres cas, il pourrait y avoir un certain avantage caché, même si l'emballage ne peu si quoi que ce soit pour modifier le comportement de la fonction sous-jacente. P> $ ( '# certains éléments') code> est peut-être un peu plus facile à taper que document.getElementById ( 'un élément') code> mais est par ailleurs pas très différent. p>
L'un des principaux avantages de l'utilisation d'une bibliothèque comme JQuery est également le fait qu'il gère la détection du navigateur et des résumées comme la sélection des éléments / manipulations. C'est un énorme avantage pour des choses comme Ajax et CSS. Par exemple, si vous appelez $ (sélecteur) .CSS ('opacité', 0.5), cela fonctionne simplement, vous n'avez pas à vous soucier de la configuration d'une règle de filtre pour IE.
@ Harold1983, "Poignez la détection du navigateur", où? ... JQuery est toute la détection / inférence.
Il s'est probablement signifié en interne comme dans, il est assez intelligent de travailler sur tous les navigateurs.
Il y a aussi beaucoup d'élan autour de JQuery et de la confiance générale. Y compris JavaScript arbitraire dans votre base de code ne peut pas être aussi «acceptable» à des types de haut niveau, comme comprenant un nouveau plugin JQuery. P>
Donc, il peut s'agir d'une perception erronée, mais en étant un plugin JQuery, une bibliothèque bénéficie d'un code de haute qualité. P>
Je vole votre réponse parce que c'est vrai, mais en même temps, oh si triste :(
IMHO IMHO La seule raison de créer un plugin est d'exécuter certaines fonctionnalités sur un sélecteur, c'est-à-dire un ensemble d'éléments sélectionnés, par exemple
$.doSomeStuff();
Avez-vous un exemple de ce que vous parlez?
Exemple, s'il vous plaît ... (la réponse est probablement: "Pour permettre une chaîne d'appel / interface fluide")
Par exemple, comme plugins.jquery.com/files/jquery.cookie.js.txt ou code.google.com / p / jquery-json / source / navigation / coffre / ... ou Stackoverflow.com/questions/3024084/... < / a>?
@ Shog9 - et n'oubliez pas la propreté.
plugins.jquery.com/project/base64 C'est WebToolkit.info/javascript-base64.html
@MoHammed: OK, oui ... c'est un peu inutile. Je suppose que ce serait, "chevauchant les coattails jQuery"
Oh bien, mais quand est-ce que ça va de faire ça?
@MoHammed: quand vous pouvez en réalité utiliser i> l'objet contextuel de jQuery pour accomplir quelque chose. La meilleure utilisation est lorsque votre fonction fonctionne sur un élément ou un ensemble d'éléments - vous pouvez ensuite utiliser jQuery pour sélectionner les éléments et appeler le plugin pour effectuer i> sur eux (puis continuer à enchaîner, S'il y a plus à faire ...)
Cela semble vrai, merci shog9