Dupliquer possible:
Que fait le premier point-virgule dans les bibliothèques JavaScript?J'ai remarqué que beaucoup de plugins jQuery commencent par
;(function(){ /* something in here */ })();
Je me demandais simplement à quoi servait le point-virgule de départ, ainsi que les parenthèses vides à la fin.
Réponses
Trop de publicités?Le point-virgule est là, dans le cas où vous inclure ce script juste après quelques "mauvais" script qui ne fonctionne pas correctement fermer sa dernière ligne par un point-virgule. Dans ce cas, il est possible que les deux scripts seront combinés et le résultat dans le code non valide. Par exemple, si vous êtes à la fusion de plusieurs script en une seule réponse.
L' () à la fin de l'exécution de la fonction. C'est la création d'un système de fermeture. Privé de variables et de méthodes peuvent être déclarés dans le cadre de cette fonction qui ne peut pas être accessible depuis l'extérieur du script.
Cette construction:
(function(){ /* something in here */ })()
Est utilisé pour créer une nouvelle portée en Javascript.
Plus d'informations sur la portée de la fonction ici.
En ce qui concerne le point-virgule, je ne l'avais jamais vu auparavant. Je pense que c'est une sécurité pour concaténer plusieurs scripts, car les points-virgules sont facultatifs dans certains cas à la fin du fichier.