嵌套命名空间
当涉及多个模块时,通过创建单个全局命名空间来避免扩散全局名称。从那里,可以将任何子模块添加到全局命名空间。 (进一步嵌套会降低性能并增加不必要的复杂性。)如果名称冲突是个问题,可以使用更长的名称:
var NavigationNs = NavigationNs || {};
NavigationNs.active = {};
NavigationNs.pagination = {};
NavigationNs.redirection = {};
// The second level start here.
Navigational.pagination.jquery = function();
Navigational.pagination.angular = function();
Navigational.pagination.ember = function();