关于Namespace, YUI和Dojo对此问题的异同

YUI和Dojo的widget都必须存在于自己的名字空间内,这些名字空间是预先建立好的。 那么,如果我们要建立自己的名字空间怎么办呢?(产生这种需求的原因通常是,我们要管理难以管理的JavaScript代码。)

在YUI中:
 执行
1. YAHOO.namespace ("myspace");
 然后你就拥有了YAHOO.myspace这个名字空间,可以进行类似如下的操作:
2. YAHOO.myspace.alertHello=function() {alert("Hello");}
实质上,YUI.namespace相当于建立了一个表项,准确地说是相联数组(associative array)的一项。 我们可以用以下两句代替上面的1、2语句
1)YAHOO["myspace"]=new function(){};
2)YAHOO["myspace"].alertHello=function(){ alert("Hello");};
而且1、2与1)、2)可以交叉组合使用。
 不管你使用哪种方式创建自己的名字空间,都有两种方式调用alertHello
a. YAHOO["myspace"].alertHello();
b. YAHOO.myspace.alertHello();

在Dojo中:
使用方式参考: dojo_custom-namespace
Dojo.require()提供了更强大的名字空间管理工具:Dojo用module来对应名字空间的含义。 我尚为对其相关函数的原理进行深入研究,也没有寻找等价的使用方式。
 但是,注意手册中这句话:“First of all, you'll want to create a directory structure ...”。也就是说,Dojo的module一定要对应一个js文件。
所以dojo.require机制不是为了创建只存在于逻辑上的名字空间。 dojo.require一定会去下载相应的js文件,参考dojo 0.9的手册: dojo-require
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值