我正在通过O'Reilly jQuery Cookbook 。在第65页有一个例子,我看起来不对,但我是jQuery的新手(不到一个星期),所以我觉得我很可能是一个困惑的人。
该代码旨在从有序列表中获取前三个项目&和他们做点什么;为了简单起见(在书的部分)选择器中,页面上只有一个列表。
他们提供以下代码(我略有简化,但不在相关部分);外部的两个层当然是样板(一个闭包,以便$
可以根据需要工作,并且代码可以在页面加载时触发)。
(function($){
$(document).ready(function(){
var arr = $.map($('li'), function(item, index){
while (index < 3)
{
return $(item).html();
}
return null;
});
/* do something with the resulting array;
I've deliberately simplified from the book here */
alert(arr.join(",");
});
})(jQuery);
显式迭代(while
)对我没有意义。据我了解,内部匿名函数应该为数组的每个元素调用一次,所以我期望if
,而不是while
。
答案 0 :(得分:1)
此循环永远不会执行多次。它在功能上等同于if
,我确信这是作者写的意思。
O'Reilly网站上有一个unconfirmed errata list。
答案 1 :(得分:0)
是的,你的理解是正确的。这是一个糟糕的例子。
答案 2 :(得分:0)