Votre avis sur l'intention de || {}
est assez proche.
Ce modèle particulier, lorsqu'il est vu en haut des fichiers, est utilisé pour créer un espace de noms c'est-à-dire un objet nommé sous lequel on peut créer des fonctions et des variables sans polluer indûment l'objet global.
La raison pourquoi il est utilisé de sorte que si vous avez deux (ou plus) fichiers :
var MY_NAMESPACE = MY_NAMESPACE || {};
MY_NAMESPACE.func1 = {
}
et
var MY_NAMESPACE = MY_NAMESPACE || {};
MY_NAMESPACE.func2 = {
}
qui partagent tous deux le même espace de noms, l'ordre dans lequel les deux fichiers sont chargés n'a pas d'importance, vous obtenez toujours func1
et func2
correctement définis dans le cadre de l MY_NAMESPACE
correctement.
Le premier fichier chargé sera créer l'initiale MY_NAMESPACE
et tout fichier chargé ultérieurement sera augmenter l'objet.
De manière utile, cela permet également asynchrone chargement des scripts qui partagent le même espace de noms, ce qui peut améliorer les temps de chargement des pages. Si le <script>
Les balises ont l'attribut defer
vous ne pouvez pas savoir dans quel ordre ils seront interprétés, donc comme décrit ci-dessus, cela résout également ce problème.
0 votes
Note : La question a été modifiée pour indiquer qu'il s'agit d'un modèle de code que l'on voit couramment en haut des fichiers sources Javascript.