Ghost全自动系统备份光盘正式版 V4.5 | 硬盘版 V2.0 | 排行榜 TOP50 | 图文推荐 | 玩小游戏
首页 >> JavaScript >> Js高级编程 >> prototype.js1.4版开发者手册(5)

prototype.js1.4版开发者手册(5)

作者:THIN 来源:cnblogs 时间:2007-9-30 网友评论条 【

枚举... 噢!噢!

你知道,我们都是这样来做循环的,建一个Array,用elements组织它们,再建一个循环结构(例如for,foreach,while)通过index数字来访问每一个element,再用这个element做一些动作。

当你想到这时,你会发现几乎每次写循环代码你都会迟早用到一个Array。那么,如果Array对象能够提供更多的功能给它们的迭代器使用不是很爽吗?确实是这样,事实上很多的编程语言都在它们的Array或其它类似的结构中(如Collections,Lists)提供一些这样的功能。

现在好了,prototype.js了给我们一个 Enumerable对象,它实现了很多和可迭代数据进行交互的窍门。和原有的JS对象相比prototype.js更上一层楼,它对Array 类s扩展了所有枚举要用的函数。

循环, Ruby样式的

在标准的javascript中,如果你想把一个array中的所有elements显示出来,你可以像下面代码这样写得很好:

 

<script> 
function showList(){ 
var simpsons = [’Homer’, ’Marge’, ’Lisa’, ’Bart’, ’Meg’]; 
            for(i=0;i<simpsons.length;i++){ 
alert(simpsons[i]); 
}} 
</script> 
<input type="button" value="Show List" onclick="showList();" > 

使用我们新的最好的朋友,prototype.js,我们可以把它生写成这样

 

      function showList(){ 
var simpsons = [’Homer’, ’Marge’, ’Lisa’, ’Bart’, ’Meg’]; 
            simpsons.each( function(familyMember){ 
alert(familyMember); 
});} 

你可能会想“非常奇怪的方式...相对旧的,这种语法太怪异了”。哦,在上面的例子,确实什么也没有,在这个简单得要死例子中,也没有改变太多啊,尽管如此,请继续读下去。

在继续下面内容之前,你注意到那个被做为一个参数传递给each函数的函数?我们把它理解成迭代器函数。

站长工具
关键字排名查询:关键字 网址
相关文章
loading 请稍等,评论加载中...

Aspxhome.com. 中国Asp之家. 版权所有

闽ICP备06017341号