zoukankan      html  css  js  c++  java
  • 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”)  去生成所需的命名空间。

                            

  • 相关阅读:
    水木清华小爬虫
    不让复制是不可能的----js获取选中文字
    [转]nonlocal和global
    LLVM和clang
    Megcup2017 Dogfood
    史莱姆自爆问题
    前端颜色表
    [转]论文十诫
    返利网盈利模式
    事务的四个属性ACID
  • 原文地址:https://www.cnblogs.com/wangyuanliang/p/3850688.html
Copyright © 2011-2022 走看看