復制代碼 代碼如下:
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);
})();