js简易namespace管理器 实例代码

  

复制代码 代码如下:

  function $package(name)

  {

  //拆分名字空间域字符串

  var domains = name.split(".");

  var cur_domain = window;

  //循环遍历每一级子域

  for(var i=0; i< domains.length; i++)

  {

  var domain = domains[i];

  //如果该域的空间未被创建

  if(typeof(cur_domain[domain]) == "undefined")

  {

  //创建域

  cur_domain[domain] = {};

  }

  //设置当前域为此次循环的域

  cur_domain = cur_domain[domain];

  }

  return cur_domain;

  };

  //用with引用的方式

  $package("com.anllin.system");

  $package("com.hs.test");

  with(com.anllin)

  with(com.hs)

  {

  alert("system1 : " + system);

  alert("test1 : " + test);

  }

  //用闭包引用的方式

  $package("com.anllin.system");

  $package("com.hs.test");

  (function(){

  var system = com.anllin.system;

  var test = com.hs.test;

  alert("system2 : " + system);

  alert("test2" + test);

  })();