dojo.provide:你到底“提供”了些什么?

dojo.provide/require机制作为JavaScript模块化管理工具,在用Dojo进行富客户端开发中确实起到了关键性的作用。具体可参考"Understanding dojo.require "和"Understanding dojo.declare, dojo.require, and dojo.provide "两文。

当在一个JavaScript文件的最开始声明

后,相当于通知了dojo两件事情:

1. 这儿有一个JS模块"my.c",文件名叫做c.js,处在路径my下(关于路径的设置,见"Understanding dojo.require ");

2. 这儿创建了一个叫my.c的JavaScript object。

那么接下来就可以在c.js中名正言顺地干点事情了。既然my.c是一个object,那就可以包含自己的变量及函数。

非常自然地,我们会直接在c.js中定义如下变量:

在前一篇"Dojo对不同浏览器(IE, Firefox)下JavaScript变量作用范围的影响 "中,我们可以看到虽然在c.js中定义了变量c1,但在IE中c1既不能作为全局变量被访问,也和object my.c没有什么关系(也就是不能通过my.c.c1访问)。和我们设想的用dojo.provide进行模块化编程不一致。

由此可见,dojo.provide("my.c")有点像my.c = {}。虽然为我们生成了object my.c,但实际上并没有将所在的JS文件变成可直接定义变量的object内部环境(就如{}内部)。因此要在该JS文件中定义my.c的变量或函数,还得每次引用它。

 

下面提供几种定义变量的方法供参考。

1.  

2. 

3.

4.

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值