如果你曾经使用过JavaScript数组,你可能对使用循环来迭代数组操作其值非常熟悉。例如,想想清单2的代码:
清单2:迭代JavaScript数组的传统方法
var fruit = ['apple', 'banana', 'orange'];
for(var i = 0; i < fruit.length; i++) {
alert(fruit[i]);
}
清单2中的代码没错,但有点麻烦。大多数JavaScript框架包括each功能,它为数组中的每一个元素调用一个特定的函数。使用MooTools,用清单3中的代码可以完成清单2中相同的操作。
清单3:使用MooTools的each函数
['apple', 'banana', 'orange'].each(function(item) {
alert(item);
});
清单3中在语法上与Prototype和jQuery是相同的,YUI 和 ExtJS.略微不同。但是,当应用到hash或对象时,不同的框架语法是不同的。例如,在MooTools中,你可以使用下面清单中的代码:
清单4:对键/值对的各个对象使用MooTools的each函数
var hash = new Hash({name: "Joe Lennon", email: joe@joelennon.ie});
hash.each(function(value, key) {
alert(key + ": " + value);
});
但是,使用Prototype库,这看起来就像清单5的代码:
清单5:对键/值对的各个对象使用Prototype的each函数
var hash = $H({name: "Joe Lennon", email: joe@joelennon.ie});
hash.each(function(pair) {
alert(pair.key + ": " + pair.value);
});
每个框架包含了许多更实用的函数,通常分为String函数、 Number函数、Array函数、Hash函数、 Date函数等等。要了解更多信息,请参阅相关JavaScript框架的API手册。
转载地址:http://www.denisdeng.com/?p=716
原文地址:http://www.ibm.com/developerworks/web/library/wa-jsframeworks/index.html