部分Dojo常用函数简介(四)——String及Array扩展

来源:互联网 发布:winrar 64位破解版mac 编辑:程序博客网 时间:2024/04/29 15:36

每个Ajax 框架都对Javascript 做了扩展,提供了很多常用函数,增强了 Javascript 的开发效率。在这里将对部分Dojo 中的常用函数做简单的介绍。由于Dojo的常用函数较多,也为方便大家阅读,将这些常用函数分为了五个类别分别进行介绍。本文将介绍第四部分的内容:String及Array扩展。

* 本系列博文的绝大多数内容来自于对dojocampus.org上的dojo reference guide文档的翻译,在此也特别感谢文档的翻译者们:Fei Jia, Zhu Xiao Wen, Li Wen Bing, Zhang Jun, Hu Kuang, Huang Wei, Wu Min Qi, Mo Ying, Cheng Fu, Zhong Si Qi

dojo.forEach, dojo.some, dojo.every, dojo.map

dojo.forEach的作用及用法类似于标准的array的forEach方法(参见JavaScript 1.6 forEach()),用于循环数组中的所有元素,该方法兼容所有的主流浏览器。一般的循环写法为:

 

 

类似的循环可以用dojo.forEach替代:

 

 

可是,forEach并不能根据提供的条件中断循环的执行,如果想要使循环在一定条件下终止,则应该使用dojo.some()或dojo.every()方法,它们都会返回一个boolean变量,dojo.some用于判断是否数组中有任何满足给定条件的元素,如果循环到任一满足条件的元素则跳出循环并返回true;而dojo.every则用于判断是否所有的元素都满足给定的条件,如果循环到任一不满足条件的元素则跳出循环并返回false。下面是这两个方法的示例:

 

 

dojo.forEach, dojo.some, dojo.every都接收第三个参数用以指定回调函数的作用域。


dojo.map可以用于对给定的数组中的每个元素调用指定的回调函数,并返回处理后的一个新数组,具体用法参看下面的示例:

 

 

dojo.indexOf

顾名思义,dojo.indexOf用于返回给定元素在指定数组中的索引号(index),由于数组索引是由0开始的,如果该数组存在给定元素,会返回一个大于等于0的正整数,否则返回-1,参见下面的示例:

 

 

dojo.filter

返回满足给定数组中回调函数中规定条件的元素组成的新数组,用法参看下面的示例:

 

dojo.trim

dojo.trim用于移除给定字符串参数的前后空格,只接收一个参数,要进行处理的字符串:

 

dojo.replace

dojo.replace是一个轻量级的字符串替换、连接的工具函数,需要注意的是该方法并不能很好的支持本地化。


该函数可接受3个参数:要进行替换部分内容的字符串模板,提供替换内容的JSON对象,以及一个可选参数,是正则表达式模板用于规定什么样的内容将会被替换,默认情况下,该模板为一个类似于{abc}的字符串。具体用法参看下面的示例:

 

 

以上就是String及Array对象的一些扩展函数,在下一部分中,会介绍关于Dojo对于事件处理及Ajax I/O的一些扩展函数。