1)dojo.require通过XHR请求自动下载需要的文件。你不需要手动下载任何东西。如果你使用google CDN,所有的课程都应该从那里下载,我建议你下载完整的软件包到你的本地应用程序并从那里使用它。稍后您可能需要创建一个Build。您还应该阅读Starting with Dojo
2)像jQuery一样强化dojo没有任何意义。 dojo
只是最上面的命名空间,它下面有很多类,如dojo.Animation
,dojo.behavior
,dojo.Deferred
,dojo.NodeList
和很多其他类。有些功能如dojo.connect()
和dojo.style()
。
如果你想创建一个新的类看看dojo.declare。您还可以在dojo
“名称空间”或其他名称空间下创建新类。
如果要将一个新函数添加到dojo
名称空间,只需键入dojo.new_function = function(){}
就像普通的JavaScript一样。但我不会推荐。如果升级到更高版本的Dojo版本,可能会造成问题。
jQuery和Dojo完全不同。如果在jQuery中输入类似$('.data')
的东西,它将获取所有类为“data”的dom节点,并返回jQuery
类中包装的新对象。
在Dojo中,您使用dojo.query('.data')
获得相同的效果。但它返回dojo.NodeList
类型的新对象。如果你想添加新的功能链能力,你需要扩展dojo.NodeList。
已经存在一些扩展名,如dojo.NodeList-fx
,它将动画效果添加到dojo.NodeList
类。如果您使用dojo.require()
加载类,则您的dojo.Nodelist将自动扩展。查看Extend dojo.NodeList了解更多信息。
3)文档相当不错,你问的所有内容都已经记录下来,我提供了一些你可以在Dojo主页上找到的完整资源。不同之处在于Dojo是一个完整的工具包,包括GUI,布局系统,Widgets,数据抽象以及其他很多高层次的东西。如果你从来没有用过这样的东西,可能很难从它开始,因为它包含了很多东西。 jQuery不提供这样的东西。所以有时候从它开始肯定会更容易。
有关文档看看:
4)道场是使用命名空间3在JavaScript dojo
,dijit
和dojox
的工具包。 dojo
命名空间包含几乎所有人都会用到的东西,比如像I18N,L10N的框架,dojo.data
或dojo.store
等模型抽象以及其他许多东西。
只是加载“dojo.js”文件的方式不给你dojo
提供的一切。
dijit
命名空间在Dojo中包含许多小部件。 dijit
命名空间中的所有小部件都具有完整的I10N和L10N支持。 dijit
包含对话框,布局系统,窗口小部件,如日历,按钮,选择字段,无线电字段,完整WYSIWYG Editor under dijit.Editor。
另请参阅Dijit Theme Editor以查看Dijit包含的内容。包括布局在内的完整网站是基于dijit完成的。
dojox
命名空间包含许多不适合dijit
或实验的额外功能。但并非一切都是实验性的。您可以找到诸如dojox.grid.DataGrid或dojox.charting
(Start Charting,Advanced Charting)或诸如dojox.gfx之类的系统来创建使用SVG,Canvas,VRML,Silverlight或Flash的跨浏览器图形。
只需查看Beyond Dojo's Core即可获得dijit和dojox包含的(小)概览。
我认为在你的文章中有三个不同的问题(你的第三个项目符号点不计算在内),第一个问题可能无法在没有看到你的代码的情况下回答。否则,使用'dojo.extend()'扩展原型,Dijit是UI库,DojoX是扩展库。参见[参考指南](http://dojotoolkit.org/reference-guide/)。 –