使用Dojo的Ajax应用开发进阶教程,第6部分: Dojo基本库深入介绍

Dojo 基本库(Dojo Base)是 Dojo 框架的核心,包含了与 Ajax 应用开发相关的核心内容,也是 Dojo 核心库(Dojo Core)、Dojo 用户界面库(Dijit)和 Dojo 扩展库(Dojox)的基础。Dojo 基本库中包含的内容比较多,下面将详细的对其中的各个模块进行介绍。与 DOM 查询和操作以及事件处理相关的内容已经在本系列中的其它文章中进行介绍,此处不再赘述。而其中与面向对象相关的内容将在其它文章中进行介绍。下面首先介绍 Dojo 基本库中包含的辅助工具方法。

辅助工具方法

在 Ajax 应用开发中,经常会需要编写一些工具方法来辅助开发,以减少代码重复。Dojo 基本库中已经为一些开发中经常会用到的功能提供了辅助方法。使用这些方法提高开发效率和代码质量。

数组处理

数组处理是 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表示是否从数组末尾开始查找。

代码清单 1中给出了上述方法的使用示例。

清单 1. Dojo 基本库数组处理方式示例

var array = [2, 4, 6, 8, 10];
  dojo.forEach(array, function(number, i) {
   alert("第" + (i + 1) + "个数是:" + number);
  });
  var allEven = dojo.every(array, function(number) {
   return number % 2 == 0;
  });
  if (allEven) {
   alert("数组中全部是偶数。");
  }
  var hasTrimerous = dojo.some(array, function(number) {
   return number % 3 == 0;
  });
  if (hasTrimerous) {
   alert("数组中包含 3 的倍数。");
  }
  var tenTimes = dojo.map(array, function(number) {
   return number * 10;
  });
  alert("数组中所有元素乘以 10:" + tenTimes.join(","));
  var lessThanFive = dojo.filter(array, function(number) {
   return number < 5;
  });
  alert("数组中小于 5 的元素:" + lessThanFive.join(","));
  alert("数组中 6 的序号是:" + dojo.indexOf(array, 6));

在介绍完 Dojo 基本库中对数组的处理方式之后,下面介绍对 JavaScript 方法的处理。

时间: 2024-10-29 21:52:05

使用Dojo的Ajax应用开发进阶教程,第6部分: Dojo基本库深入介绍的相关文章

使用Dojo的Ajax应用开发进阶教程,第2部分: 富含语义的HTML

相关文章:使用Dojo的Ajax应用开发进阶教程,第1部分 HTML 是开发 Web 应用的基础.目前已经有数以千亿的使用 HTML 语言编写的网页.HTML 语言的规范也不断在演进和更新.HTML 语言虽然上手比较简单,但是如何开发出组织良好.结构清晰和可维护性高的 HTML 文档,对很多Web开发人员来说,也是一个值得探讨的话题.随着 Ajax 应用的流行,一种称为"富含语义的 HTML(Semantic HTML)"的最佳实践,逐渐被广大 Web开发人员所推崇.这种实践的主要思想

使用Dojo的Ajax应用开发进阶教程,第8部分: Dijit开发最佳实践

Dijit 组件(widget)是 Dojo 提供的图形用户界面组件库.它提供了 Ajax 应用开发中会用到的常用组件,可以帮助开发人员快速的构建 Ajax 应用.本文并不会介绍 Dojo 默认提供的组件,而是侧重于介绍 Dijit 组件的编程模型和最佳实践,其目的是帮助开发人员更好的开发自己的 Dijit 组件.下面首先对 Dijit 做概要介绍. Dijit 概述 Dijit 组件的存在是 Dojo 框架区别于其它 JavaScript 框架的一个重要特性.在桌面应用开发中,开发人员大量使用

使用Dojo的Ajax应用开发进阶教程,第4部分: DOM查询与操作

DOM 的全称是文档对象模型(Document Object Model).它是 HTML 和 XML 文档的 API.它定义了文档的逻辑结构,以及对文档进行访问和操作的方式.通过 DOM,开发人员可以在文档中自由导航, 也可以添加.更新和删除其中的元素和内容.基本上文档中的任何内容都是可以通过 DOM 进行访问和操作的.本文详细介绍了如何使用 DOM 基本 API 和 Dojo 来进行 DOM 查询和操作.使用的 Dojo 版本是 1.4.下面首先介绍 DOM 的基本概念. DOM 基本概念

使用Dojo的Ajax应用开发进阶教程,第5部分: 浏览器中的事件处理

简介: 事件处理是 Ajax 应用中的重要组成部分,也是应用动态变化的源动力.本文详细介绍了浏览器中的事件处理相关的内容,包括注册事件监听器.事件发生之后的传播机制.编写事件监听器等,还介绍了 Dojo 对事件处理提供的支持.最后介绍了与浏览器内存泄露和性能相关的最佳实践. 浏览器中的事件是 Ajax 应用动态变化的源动力.用户通过输入设备(主要是键盘和鼠标)与应用进行互动.对于用户不同的动作,如点击鼠标左键.右键.或是按下键盘上的回车键,浏览器会产生与之对应的事件.这些事件按照一定的规则在当前

使用Dojo的Ajax应用开发进阶教程,第7部分: Dojo核心库深入介绍

Dojo 核心库构建于 Dojo 基本库之上,为 Ajax 应用的开发提供了更加丰富的功能.掌握 Dojo 核心库中包含的内容,可以开发人员减少代码量,而把工作精力集中在与业务逻辑相关的组件的实现上.Dojo 核心库中包含的内容也比较多,本文只是介绍其中一些比较重要或是复杂的部分.首先从数据模型开始介绍. 数据模型 在传统的 Web 应用中,客户端部分所承担的职责很少,基本上只负责数据展现.应用所涉及的复杂数据模型的处理工作由服务器端代码来完成.而在 Ajax 应用中,客户端部分也需要处理一部分

使用Dojo的Ajax应用开发进阶教程,第3部分: 深入理解CSS

提到CSS,很多Web开发人员都不陌生.它是在 Web 应用中控制展现的标准技术.CSS 与 HTML 和 JavaScript 一起,构成了 Ajax 应用的基础.对于 CSS,已经有很多图书和文章进行过详细的介绍.本文不介绍 CSS 语法的细节,而是从一些实际开发中会遇到的问题出发,讨论一些与具体实践相关的话题. 下面首先介绍 CSS 中的一些重要概念,可以帮助读者加深对 CSS 的理解.本文中以 CSS 2.1 规范来进行说明. CSS 的重要概念 CSS 的语法非常简单,包含的元素也很少

使用Dojo的Ajax应用开发进阶教程,第1部分

随着 Ajax 应用的流行,JavaScript 语言得到了越来越多的关注.开发人员对 JavaScript 的使用也日益深入. JavaScript 已经不再只是用来为页面添加一些花哨的效果,它已经成为构建 Ajax 应用的重要基石. JavaScript 作为一种专门设计用来在浏览器中执行的动态语言,它有许多重要的特性,并且不同于传统的 Java 或 C++ 语言.熟悉这些特性可以帮助开发者更好的开发 Ajax 应用.本文章介绍了 JavaScript 语言中十三个比较重要的特性,包括 pr

《Web前端开发精品课 HTML与CSS进阶教程》——第一部分 HTML进阶第01章 HTML基础知识1.1 HTML和CSS进阶简介

第一部分 HTML进阶 第01章 HTML基础知识 1.1 HTML和CSS进阶简介 1.1.1 你真的精通HTML和CSS吗 我们都知道,前端技术最核心的三大技术是HTML.CSS和JavaScript.HTML定义网页的结构,CSS定义网页的外观,而JavaScript定义页面的行为.其中HTML和CSS是前端技术中最基础的东西. HTML和CSS入门容易,精通却很难,特别是CSS."什么?精通很难?我很确定我已经精通CSS了啊!"这种话往往是出自学习三两个月.技术刚入门的人之口.

《Web前端开发精品课 HTML与CSS进阶教程》——1.2 HTML、XHTML和HTML5

1.2 HTML.XHTML和HTML5 很多新手往往分不清HTML.XHTML和HTML5,这一节给大家详细讲解一下这三者的关系和区别. 1.2.1 HTML和XHTML HTML,全称HyperText Mark-up Language(超文本标记语言),是构成网页文档的主要语言.我们常说的HTML指的是HTML 4.01. XHTML,全称EXtensible HyperText Mark-up Language(扩展的超文本标记语言),它是XML风格的HTML 4.01,我们可以称之为更