10-讨论
4.2.3 讨论
在本秘诀中,用 $.each() 循环读取一个数组和一个对象,该方法为常见循环任务提供了简洁的接口。 $.each() 的第一个参数是需要循环读取的数组或者对象,第二个参数是在每个元素上执行的回调方法(注意,这和jQuery的集合方法 $('div').each() 有所不同,它的第一个参数是回调函数)。
当执行开发人员定义的回调函数时, this 变量被设置为目前循环读取到的元素值。因此,前一个秘诀中的代码可以改写为:
(function($) {
$(document).ready(function() {
var months = [ 'January', 'February', 'March', 'April', 'May',
'June', 'July', 'August', 'September', 'October',
'November', 'December'];
$.each(months, function() {
$('#months').append('<li>' + this + '</li>');
});
var days = { Sunday: 0, Monday: 1, Tuesday: 2, Wednesday: 3,
Thursday: 4, Friday: 5, Saturday: 6 };
$.each(days, function(key) {
$('#days').append('<li>' + key + ' (' + this + ')</li>');
});
});
})(jQuery);