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