js的名字空间用例

<script>
__namespace__({com:{akira:{test:
(function(){
    function A()
    {
        A.prototype.a = function(){alert('A in a');}
    }
    function B()
    {
        B.prototype.a = function(){alert('A in b');}
    }B.prototype = new A(),B.prototype.base = new A();
    return {A:A,B:B};
})()   
}}})
var a = new com.akira.test.A();
a.a();
try{a = new A();}catch(e){alert("Class A not found in __global__!");}
__using__(com.akira.test);
var b = new B();
b.a();
__unlink__(com.akira.test);
try{b = new B();}catch(e){alert("Class B not found in __global__!");}
with(com.akira.test)
{
    var c = new B();
    c.base.a();
}

/********************************************************
Javascript namespaces V1.00 author Akira
*********************************************************/
function __namespace__(ns,parent)
{
    if(parent == null) parent = self;
    for(var each in ns)
    {
        if(parent[each] != null)
            __namespace__(ns[each],parent[each]);
        else
            parent[each] = ns[each];
    }
    return;
}
function __using__(ns)
{
    for(var each in ns)
        if(self[each]==null) self[each] = ns[each];
}
function __unlink__(ns)
{
    for(var each in ns)
    {
        if(self[each] == ns[each]) self[each] = null;
    }
}
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值