命名空间 namespace

 1 //命名空间
 2     var MYAPP = MYAPP || {};
 3 
 4     MYAPP.namespace = function(ns_string){
 5         var parts = ns_string.split("."),
 6             parent = MYAPP,
 7             i;
 8 
 9         // 剥离全局
10         if(parts[0] === "MYAPP"){
11             parts = parts.slice(1);
12         }
13 
14         for(i = 0;i<parts.length;i++){
15             //如果它不存在,就创建一个属性
16             items = parts[i];
17             if(typeof parent[items] === "undefined"){
18                 parent[items] = {};
19             }
20 
21             parent = parent[items];
22         }
23         return parent;
24         
25     };
26 
27     var module2 = MYAPP.namespace("MYAPP.modules.module2");
28     console.log(module2 === MYAPP.modules.module2);

  为了网站中各js之间的通信,我们会想到用定义一个全局对象 GLABAL = {}; 达到目的,命名空间的作用是避免全局变量的冲突以及过长的命名

posted @ 2013-10-21 13:32  楚玉  阅读(175)  评论(0编辑  收藏  举报