var arr = [1, 2, 3];
$(arr).each(function() { alert(this) });
这适用于jQuery,除了集合不是由DOM元素组成,而是由整数组成。这不应该是不允许的吗?
正如Felix Kling所说,这是他们的决定。
$(arr).each()
是允许的,但您不应该使用它,因为它被认为效率低于$.each()
。
来源: http://api.jquery.com/each/#comment-40044794
另请阅读此内容: http://api.jquery.com/each/#comment-38585086
jQuery
函数(相当于$
)返回jQuery对象的常规数组。
因此,您的片段工作是完全有意义的,因为它只是一个常规数组。
如果你按照Paul Ireland所说的去做,看看源代码,你会发现它使用基本相同的代码
$.each(array, function(index, value) {});
处理常规数组和对象。
基本上,它并不关心数组中的内容才能工作,它只是遍历一个数组。
话虽如此,为了清楚起见,您可能应该使用 $.each()
变体,因为它更快(更直接),因此有人可以快速看到它是一个"普通"值的"常规"数组,而不是 jQuery 对象。
语义很重要,人很重要。