嵌套命名空间

当涉及多个模块时,通过创建单个全局命名空间来避免扩散全局名称。从那里,可以将任何子模块添加到全局命名空间。 (进一步嵌套会降低性能并增加不必要的复杂性。)如果名称冲突是个问题,可以使用更长的名称:

 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();