En ce moment, je me sers de cette façon:Comment créer des fonctions statiques namespaced en Javascript?
window.Foo = {
alpha: function() {},
bravo: function(arg) {}
}
window.Bar = {
charlie: function(arg) {}
}
Foo.alpha()
Bar.charlie()
Mais je soupçonne que ce n'est pas la « bonne » façon de faire les choses depuis (1) mon IDE selfs dans la compréhension de ce que je veux dire de plusieurs façons (par exemple, ne remplira pas automatiquement les noms de fonction si je tape Foo.
) et (2) si je parcoure les espaces de noms, et que je renvoie simplement typeof eachone
, j'obtiens String
.
Notez que 'pour chaque ... in' est une construction de Mozilla uniquement. Aussi 'for (key in window.Foo)' pourrait faire en sorte que 'key' soit déclarée comme une propriété sur l'objet global (et dans ES5 en mode strict, cela provoquera un' ReferenceError'), 'for (var key dans window.Foo) 'est recommandé à la place. – CMS