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);
})();

你可能感兴趣的:(namespace)