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

相关推荐