为什么可以传递数组而不是选择器

  • 本文关键字:数组 选择器 jquery
  • 更新时间 :
  • 英文 :

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 对象。

语义很重要,人很重要。

最新更新