JavaScript 全局变量命名空间生成函数

 1 <script type="text/javascript">
 2           var GLOBAL = {};
 3           GLOBAL.namespace = function(str){
 4               var arr  = str.split("."),o = GLOBAL;                //定义初始父命名空间名为 GLOBAL;
 5               for (i=(arr[0]=="GLOBAL")?1:0; i<arr.length; i++) {
 6                   o[arr[i]] = o[arr[i]]||{};                       //生成子命名空间
 7                   o = o[arr[i]];                                   //将子命名空间定义为父命名空间
 8                }
 9           }
10 </script>

使用方式:

 1 <script type="text/javascript">
 2 
 3          /*执行完此方法后,此时的命名空间有:GLOBAL = {},GLOBAL.Leon = {},第一次循环生成  GLOBAL.Leon.Wang = {},第二次循环生成*/
 4          GLOBAL.namespace("Leon.Test"); 
 5          
 6          GLOBAL.Leon.param1= "param1";
 7 
 8          GLOBAL.Leon.Test.name = "hello";
 9          GLOBAL.Leon.Test.Speak = function(){
10             ...
11          };
12          
13  </script>

注:

       为了避免参数命名冲突,我们引入了此方法,GLOBAL定义为全局变量,每个工程师定义有自己的二级命名空间名,如,Leon,James,A,B...,在此基础上工程师可以自己添加三级名称,以此类推...如Leon定义了一个“Test”,则可调用   GlOBAL.namespace(“Leon.Test”)  去生成所需的命名空间。

                        

JavaScript 全局变量命名空间生成函数,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。