网络编程
位置:首页>> 网络编程>> JavaScript>> prototype.js1.4版开发者手册(5)

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

作者:THIN 来源:cnblogs 发布时间:2007-09-30 14:09:00 

标签:prototype,手册

枚举... 噢!噢!

你知道,我们都是这样来做循环的,建一个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函数的函数?我们把它理解成迭代器函数。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com