Dojo 学习要点


Posted in Javascript onSeptember 03, 2010

由于要学习 ArcGIS Server JavaScript API,在此 API 中 ESRI 采用的是 JavaScript 开源框架 Dojo,于是先学习了点 Dojo 的知识,算是为以后的工作做准备吧。
其实开源 JavaScript 框架很多,比如最早的 prototype,很实用的 jQuery,Yahoo 的 Yui,超炫的 ExtJS 等,至于为什么 ESRI 采用 Dojo,我们也不必去猜测,肯定有人家的道理滴,好好学习 Dojo 才是硬道理。
学习 Dojo 之前,务必要掌握一些必要的J avaScript 知识,如 json 等。由于以前 JavaScript 自认为学的还可以,ExtJS 也算是入门了,相对来说学习 Dojo 容易很多了。
现在 Dojo 的最新版本是 1.5.0 版,在其官网上可以下载到 dojo-release-1.5.0.zip 压缩文件。
言归正传,下面为自己的一些学习要点,就权当是做个私人笔记吧。

1,通过dojo.require以类似C编程中#include或者Java中import的方式加载所需的部件 
如dojo.require("dojo.parser");dojo.require("dijit.form.Button"); 
2,跨域自定义模块 
Dojo配置,djConfig="baseUrl:'./'" 
注册模块的路径,dojo.registerModulePath("dtdg","./dtdg"); 
加载自定义模块,dojo.require("dtdg.foo"); 
3,本地工具箱模块 
直接加载自定义模块,dojo.require("dtdg.foo"); 
4,为对象注册事件 
dojo.connect(); 
5,json和字符串之间转换 
dojo.fromJson(/*String*/ json);//返回JavaScript对象,json对象 
dojo.toJson(/*Object*/ json, /*Boolean*/ prettyPrint);//返回字符串 
6,Ajax通信 
dojo.xhrGet(/*Object*/ args);dojo.xhrPost(/*Object*/ args); 
dojo.xhr(/*String*/ method, /*Object*/ args, /*Boolean?*/ hasBody); 
7,本地化 
djConfig="dojo.local:'zh'" 
8,控件、布局等都在dijit中
Javascript 相关文章推荐
一段实时更新的时间代码
Jul 07 Javascript
jQuery插件 tabBox实现代码
Feb 09 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
Sep 29 Javascript
学习JavaScript的最佳方法分享
Oct 21 Javascript
JS 获取鼠标左右键的键值方法
Oct 11 Javascript
Javascript定义类(class)的三种方法详解
Mar 13 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
Jul 29 Javascript
js仿支付宝多方框输入支付密码效果
Sep 27 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
Jul 21 Javascript
angular4实现tab栏切换的方法示例
Oct 21 Javascript
微信小程序用户登录和登录态维护的实现
Dec 10 Javascript
three.js中多线程的使用及性能测试详解
Jan 07 Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
Sep 03 #Javascript
基于JQuery的6个Tab选项卡插件
Sep 03 #Javascript
Jquery中dialog属性小记
Sep 03 #Javascript
javascript中使用css需要注意的地方小结
Sep 01 #Javascript
js截取函数(indexOf,join等)
Sep 01 #Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
Sep 01 #Javascript
jQuery选中select控件 无法设置selected的解决方法
Sep 01 #Javascript
You might like
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
JavaScript 创建对象
2009/07/17 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
深入了解Vue.js 混入(mixins)
2020/07/23 Javascript
js实现全选和全不选
2020/07/28 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
python实现批量改文件名称的方法
2015/05/25 Python
Python 对象中的数据类型
2017/05/13 Python
python命令行工具Click快速掌握
2019/07/04 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
Django框架models使用group by详解
2020/03/11 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
h5网页水印SDK的实现代码示例
2019/02/19 HTML / CSS
纽约JewelryAffairs珠宝店:精细金银时尚首饰
2017/02/05 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
人力资源经理自我评价
2014/01/04 职场文书
甜点店创业计划书
2014/01/27 职场文书
交通事故责任认定书
2015/08/06 职场文书
2016小学新学期寄语
2015/12/04 职场文书
通知怎么写?
2019/04/17 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP
Golang 如何实现函数的任意类型传参
2021/04/29 Golang
Android存储中最基本的文件存储方式
2022/04/30 Java/Android
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL