Cela dépend du contexte du code, mais il existe une pratique de conception courante en JavaScript consistant à encapsuler les variables et les méthodes dans un espace de nom ou un modèle de module. Ce code mai être un dérivé de cette intention.
Le raisonnement qui sous-tend le modèle de conception modulaire se résume aux complications liées aux variables globales et aux dangers du "clobbering".
Le clobbering peut se produire lorsqu'une variable (ou une fonction) du même nom est définie deux fois. La deuxième définition remplacera la première et, par essence, l'annulera.
Par conséquent, la règle générale est d'envelopper votre code dans une construction qui protège vos variables (et fonctions) de l'espace de noms global. Douglas Crockford décrit bien ce type de scénarios.
Este exemple montre un légèrement une incarnation plus courante appelée "fermeture" :
var jspy = (function() {
var _count = 0;
return {
incrementCount: function() {
_count++;
},
getCount: function() {
return _count;
}
};
})();
C'est désorientant au début, mais une fois que vous l'avez reconnu, cela devient une seconde nature. Le but est d'encapsuler la variable _count en tant que membre privé de l'objet retourné qui a deux méthodes accessibles.
C'est puissant car l'espace de noms global ne comprend plus qu'une seule var (jspy) au lieu d'une var avec deux méthodes. La deuxième raison pour laquelle cette méthode est puissante est qu'elle garantit que la variable _count ne peut être accédée que par la logique des deux méthodes (incrementCount, getCount).
Comme je l'ai dit, votre code mai est une incarnation de cette règle empirique.
Quoi qu'il en soit, il est important de connaître ce motif en JavaScript car il ouvre la porte à des interactions beaucoup plus puissantes entre les frameworks, par exemple, et dans le chargement asynchrone de ceux-ci, comme dans AMD.
Voici une belle espace de noms exemple.
En résumé, il existe un modèle de conception JavaScript avancé qui vous aidera à le connaître, et les termes pertinents sont Modèle de module, Modèle d'espace de nom. Les autres termes associés sont la fermeture et l'AMD.
J'espère que cela vous aidera. Tous nos vœux de réussite ! Nash