Il y a quelque chose à propos de la définition de plugin jQuery "standard" que je n'arrive pas à comprendre, et il semble qu'aucun tutoriel de plugin ne l'explique.
La plupart des définitions plug-ins que j'ai vu sont quelque chose comme:Définition du plugin jQuery
(function($) {
$.extend($.fn, {
pluginName: function(options)
...
});
})(jQuery);
Maintenant, si je comprends ce que fait la partie function($) { ... }
(fait en sorte que fonctionne jquery avec $
même en mode noConflict, crée une méthode « privée », etc.), Je ne comprends pas pourquoi le premier caractère est (
, et il se termine par )(jQuery)
.
Est-il nécessaire de rendre les plugins chaînables? Peut-il être ignoré en toute sécurité?
Modifier
Variation de la même définition:
;(function($) { // why is ; there?
Voici un indice: Le modèle '(function (params) {...}) (args)' définit une fonction anonyme, puis l'appelle. –
À propos du point-virgule précédente: http://stackoverflow.com/questions/7365172/javascript-semicolon-before-self-invoking-function –