- /*
- * Description:命名空间管理函数库,方便解决命名冲突等问题
- * **********使用实例***************
- *
- Namespace.register("com.company.config").aa="aa";
- Namespace.register("com.company.i18n.kendoui",{bb:'bb'})
- Namespace.register("com.baidu.utils",{
- replace:function(){alert('replace');},
- starWith:function(){alert('starWith');}
- }).isEmpty=function(){alert('isEmpty');};
- Namespace.register("com.baidu.utils.format",function(){alert('format');});
- alert(JSON.stringify(com.company));
- com.company.utils.replace();
- com.company.utils.isEmpty();
- com.company.utils.format();
- alert(com.company.config.aa);
- alert(Namespace.obtain("com.company.config.aa"));
- alert(com.company.i18n.kendoui.bb);
- alert(Namespace.obtain("com.company.i18n.kendoui.bb"));
- alert(com.company.i18n.lan);
- alert(Namespace.obtain("com.company.i18n.lan"));
- var utils=Namespace.obtain("com.company.utils");
- var i18n=Namespace.obtain("com.company.i18n");
- utils.format();
- alert(i18n.lan);
- */
- var Namespace={};
- //注册命名空间
- Namespace.register=function(namespase,obj){
- var nsArray=namespase.split('.');
- var regns=function(_parent){
- var n=nsArray.shift();
- if(_parent[n]===undefined){
- _parent[n]={};
- }
- if(nsArray.length==0){
- if(obj){_parent[n]=obj;}
- return _parent[n];
- }
- return regns(_parent[n]);
- };
- return regns(parent);
- };
- //获取命名空间
- Namespace.obtain=function(namespase){
- var nsArray=namespase.split('.');
- var getns=function(_parent){
- var n=nsArray.shift();
- if(_parent[n]===undefined){
- alert('命名空间'+namespase+'不存在!');
- }else if(nsArray.length>0){
- return getns(_parent[n]);
- }else{
- return _parent[n];
- }
- };
- return getns(window);
- };
- //该片段来自于http://www.codesnippet.cn/detail/1812201411322.html
来源: http://www.codesnippet.cn/detail/1812201411322.html