Qu'entend-on par «JavaScript Namespacing»?

Duplication possible:
Emplacement de noms de Javascript

Je suis très nouveau pour JavaScript et je me demandais si quelqu'un pourrait me donner une bonne description de ce que signifie JavaScript Namespacing?

En outre, toutes les ressources, par exemple des articles, etc., sont très appréciées sur le sujet.

JavaScript est conçu de telle sorte qu'il est très facile de créer des variables globales qui peuvent interagir de manière négative. La pratique de l'espace de noms est généralement de créer un objet littéral encapsulant vos propres fonctions et variables, afin de ne pas entrer en collision avec celles créées par d'autres bibliothèques:

var MyApplication = { var1: someval, var2: someval, myFunc: function() { // do stuff } }; 

Ensuite, au lieu d'appeler myFunc() échelle mondiale, il sera toujours appelé:

 MyApplication.myFunc(); 

De même, var1 toujours été consulté comme var1 :

 console.log(MyApplication.var1); 

Dans cet exemple, tout le code de notre application a été MyApplication dans MyApplication . Il est donc beaucoup moins probable que nos variables entrent en collision avec celles créées par d'autres bibliothèques ou créées par les DOM.

Pour une course rapide (y compris les techniques), lisez ceci:

Namespacing en JavaScript

J'utilise cette technique de paternité de noms, ainsi que «l'utilisation stricte» décrite par Crockford

 var MyNamespace = (function () { "use strict"; function SomeOtherFunction() { } function Page_Load() { } return { //Expose Page_Load: Page_Load, SomeOtherFunction: SomeOtherFunction }; } ()); MyNamespace.Page_Load(); 

Lisez-le sur un simple tutoriel ici

L'option Namespacing permet d'éviter de polluer l'espace de noms global (aucune variable de fenêtre). En vérité, chaque espace de noms est juste une grande variable, qui possède de nombreuses propriétés et méthodes.

Cela se produit car, en javascript, vous pouvez avoir des fonctions entières (méthodes) comme variables