Quelle est cette syntaxe? ; (Fonction ($, indéfini)

; (function ($, undefined) { // all the variables and functions of the js document })(jQuery); 

Je l'ai vu deux fois maintenant dans les fichiers jquery / javascript pour un script de zoom. Je ne comprends pas ce que c'est exactement. Je ne peux pas penser à google, je ne me souviens pas d'avoir rencontré cela sur tizag ou w3schools tout en apprenant jquery et js.

Il n'y a rien avant ou après ce code (autre que certains commentaires). Donc, je suis totalement perdu quant à quoi (function())(jQuery); Est ou fait.

 (function ($, undefined) { // all the variables and functions of the js document })(jQuery); 

Appelle un bloc de code pour s'assurer que l'intérieur

  • $ Est utilisable pour se référer à jQuery
  • undefined est undefined

Et que tout minificateur peut changer undefined à une étiquette plus courte.

L'initiale ; Vous permet de concaténer ce fichier avec un autre: sans cela, vous auriez une erreur lors de l'exécution du fichier concaté si celui-ci précédemment était quelque chose comme

 (function (){ })() 

C'est un moyen de s'assurer que $ est en effet l'objet jQuery et de s'assurer que les variables et méthodes locales sont privées, c'est-à-dire ne pas polluer l'espace de noms global.

C'est une fonction anonyme auto-appelée, le paramètre passé étant jQuery, ce qui signifie que $ sera l'objet jQuery .

Être déclaré à l'intérieur d'une fonction signifie que les variables et les méthodes internes ne seront pas visibles en dehors de celle-ci.