您好,欢迎访问三七文档
dojo对数组的处理函数,dojo.forEach、dojo.every、dojo.some、dojo.map等数组处理是Ajax应用开发中的常见操作。Dojo基本库提供了一些方法用来方便的对数组进行处理,完成一些典型的任务。这些与数组处理相关的方法的具体说明如下所示:dojo.forEach(array,callback,scope):该方法用来遍历数组并对其中的每个元素执行操作。其参数array表示的是数组,callback表示的是对每个元素所执行操作的JavaScript方法,可选的scope表示的是callback方法调用时this所指向的对象。callback方法在被调用时会传入三个参数,分别表示当前元素、当前元素在数组中的序号以及数组本身。dojo.every(array,callback,scope):该方法用来判断是否数组的全部元素都满足特定的条件。其三个参数的含义与dojo.forEach()方法相同。callback方法通过返回真假值来声明某个元素是否符合条件。dojo.some(array,callback,scope):该方法用来判断数组中是否至少有一个元素满足特定的条件。其三个参数和callback方法的含义与dojo.every()相同。dojo.map(array,callback,scope):该方法用来对数组中的每个元素执行操作,并返回一个数组包含操作的结果。其三个参数的含义与dojo.forEach()相同。dojo.filter(array,callback,scope):该方法用来对数组中包含的元素进行过滤,只保留满足特定条件的元素。其三个参数的含义与dojo.forEach()相同。callback方法通过返回真假值来声明某个元素是否应该被保留。dojo.indexOf(array,value,fromIndex,findLast):该方法用来在数组中查找指定的元素,如果找到就返回该元素在数组中的序号,否则返回-1。其参数array表示数组,value表示要查找的元素值,fromIndex表示查找的起始序号位置,findLast表示是否从数组末尾开始查找。Dojo基础入门(一)2008-03-3111:28636人阅读评论(1)收藏举报dojojavascript工具配置管理单元测试扩展目录(?)[+]摘要本文介绍了Dojo的基本相关信息,并通过一些简单示例让大家对Dojo有一个初步的感性认识。之后介绍了开发环境的准备以及在开发过程中需要具备的概念。由于新版本的Dojo对以前的0.4版本上做了重大变革,而现有的很多资源还是基于原有版本进行介绍的,这难免会引起初学者的困惑。本文尽量使用深入浅出的方式,通过简短、平实的文字把Dojo介绍给大家,以便初学者可以很容易的了解Dojo,能够在最短时间内尽快的学习使用起来。1.Dojo介绍1.1.Dojo是什么Dojo是一个使用Javascript编写的开源DHTML工具包。它建立在很多已捐献的代码基础之上,这就是为什么我们谈到它时,说它是一个统一的工具。利用Dojo,可以很容易地建立动态web页面以及其他支持Javascript的环境。可以使用Dojo封装的组件,它使web站点更具有可用性、更快速的响应、更多的功能。Dojo的事件系统,I/OAPI,和泛型语言增强组成了强大的程序环境的基础。可以使用Dojo建造工具来为Javascript代码编写命令行单元测试。可以使用Dojo包来使得代码更容易去维护和更少的平台依赖。1.2.使用Dojo的好处宽度和广度:Dojo是一个“全堆栈”的应用框架。不是那种把几个不同的源码简单拼凑在一起的组件。Dojo通过提供集成的底层架构和广泛的可选模块允许每个组件构造成一个高质量积木式的可信赖集合。这些组件给普通用户遇到的问题提供了良好的解决方案,他它们也很容易调整以满足各种需求。从基于面板的设计到客户端图表、到数据绑定、到久经考验的模块系统,Dojo是一个考虑了众多用户体验的刚性的底层架构。质量:国际化以及易访问的底层架构是通过Dojo“纤维”编织而成。每次击键都会有正确提示。所有组件作为一个粘着的整体契合在一起。每件东西都是可以很容易与CSS一起进行定制。只消稍做调整即可获得一个漂亮整洁的外观变化,以大量的用户体验为基础(这些人不仅有普通用户,还有设计师和开发人员)做了设计和测试,这些都是它的特点。性能:Dojo被用于每天都有高访问量和高流量的站点上,采用Dojo的构造工具是为什么如此做的一个关键原因。Dojo软件包系统很容易管理大规模的UI开发项目以及构建顶部的系统层,可以做出令人吃惊的应用。所有这些无需代码修改。Dojo也把高性能的普通应用实现打包到了它的核心内,并且Dojo0.9后的版本在性能上给予了更多的关注,减少了代码。它是个小巧、紧凑的工具包并且速度飞快。这些特点使Dojo成为扩展和构建的理想平台。社区:Dojo是一个开源的社区,个人和公司都能走到一起公平竞争,这使得大家在使用这些工具时彼此获益。所有开发都是在开放的环境中进行,并且有意识的降低学习门槛。1.3.Dojo的版本历史Dojo项目历史有0.4.x,0.9,1.0.x等稳定版本,但0.9是对之前0.4.x的重大变革,与0.4.x是非兼容的,与其后的版本是兼容的。由于Dojo项目的开发者已经把主要精力投入到新版本的开发维护上,所以本文是基于0.9以及后续版本的代码基础上进行分析。截止到本文截稿时,Dojo最新的版本是1.0.2。1.4.Dojo的安装有三种方式安装Dojo:1.直接连接AOL的内容分布网络(CDN)。只要在网页中加入scripttype=text/javascriptsrc=即可2.下载Dojo最新版本代码,安装在本机3.从配置管理服务器得到每日的build版本第1种方式无法深入代码内部去了解Dojo实现机制且需时刻在线,对于第3种方式的每日最新也无必要,只要有一个最稳定版本即可。第2种方式基本能弥补其他两种的不足,笔者本人推荐使用第2种方式。1.5.Dojo的包系统分解Dojo主要分成4个包:dojo是核心,包括Ajax基础,以及事件、JSON、CSS查询等基本内容;dijit包含了各种基于模板的布局、组件类,可以在它们的基础上直接使用或者继承定制;dojox是上述两个包的扩展包,提供了更加丰富绚丽的组件以及功能;util是辅助工具包。Dojo基础入门(二)2008-03-3112:511183人阅读评论(0)收藏举报dojofunctionimport编程htmldiv目录(?)[+]1.简单示例我们对任何事物的了解都是从感性认识开始的,所以在这里我们也用一个经典的“Helloworld!”示例来表现Dojo的使用。1.1.页面样式很简单,页面上一个按钮,点击按钮后,跳出一个显示HelloWorld信息的对话框。1.2.代码分析htmlheadtitleHelloWorld/titlestyletype=text/css@import../dojoroot/dojo1.0.2/dijit/themes/tundra/tundra.css;@import../dojoroot/dojo1.0.2/dojo/resources/dojo.css/style!--(1)--scripttype=text/javascriptsrc=../dojoroot/dojo1.0.2/djConfig=parseOnLoad:true,isDebug:true/script!--(2)--scripttype=text/javascriptdojo.require(dojo.parser);!--(3)--dojo.require(dijit.form.Button);!--(4)--/scriptscripttype=text/javascriptdojo.addOnLoad(function(){dojo.connect(dojo.byId('helloBtn'),'onclick',function(){alert(Helloworld!);})});!--(5)--/script/headbodyclass=tundrabuttondojoType=dijit.form.Buttonid=helloBtnSayHello/button!--(6)--/body/html(1)styletype=text/css@import../scripts/dojo-1.0.2/dijit/themes/tundra/tundra.css;@import../scripts/dojo-1.0.2/dojo/resources/dojo.css/style引入css样式表的定义文件,示例使用的是dojo自带的css样式。可替换成我们自定义的样式文件。(2)scripttype=text/javascriptsrc=../scripts/dojo-1.0.2/dojo/dojo.jsdjConfig=parseOnLoad:true,isDebug:true/script①确定dojo.js文件的相对路径,由此确定使用dojo的方式编程,这是必需的。②djConfig=parseOnLoad:true与(3)中的dojo.require(dojo.parser);一起配合来使页面能使用Dojo的解析架构。③djConfig是Dojo内置的一个全局对象,可以通过它来控制Dojo的行为。在本示例中,isDebug是djConfig的一个属性,设置是否为debug模式,如果为真,则console.debug的输出有效,这在开发时很有用,在发布时建议设置为false。(4)dojo.require(dijit.form.Button);声明将要使用的dojo的组件类型。类似Java中的import语句(5)scripttype=text/javascriptdojo.addOnLoad(function(){dojo.connect(dojo.byId('helloBtn'),'onclick',function(){alert(Helloworld!);})});/script①dojo.addOnLoad表示在HTML页面加载后执行脚本程序②dojo.connect用于连接事件处理器(某一个函数)到一个元素或者一个对象。(6)buttondojoType=dijit.form.Buttonid=helloBtnSayHello/button这是在页面中定义一个要使用的按钮控件,由dojoType属性指明可复用到的dojo组件类型是dijit.form.Button1.3.实现方式1.3.1.标签式实现在页面中声明组件的方式可以像上面的示例一样,直接在标签中用dojoType对应的属性值来表明该组件对应的类型以及可实现的功能。除此之外还有另一种实现方式,编程实现。1.3.2.编程实现标签式实现需要在页面开发的时候,就要确定组件的类型、传入的参数,编程方式与之相比较就具有了更大的灵活性,参数可以动态生成以及页面与业务逻辑分离等多种好处。下面我们用编程方式来举例来实现之前HelloWorld页面同样的功能。htmlheadtitleHelloWorld/titlestyletype=text/css@import../dojoroot/dojo1.0.2/dijit/themes/tundra/tundra.css;@import../dojoroot/dojo1.0.2/dojo/resources/dojo.css/style!--(1)--scripttype
本文标题:dojo基础入门
链接地址:https://www.777doc.com/doc-5037597 .html