jQuery

时间:2016-10-04 23:15:39

标签: jquery

如果我想要迭代的JavaScript变量中有一个数组,我通常会使用jQuery的.each()函数:

var myArray = ["foo", "bar"];
$(myArray).each(function(index, value) {
    console.log(value);
});

但我可以通过将我的数组作为参数传递给.each()函数来实现相同的效果,如下所示:

var myArray = ["foo", "bar"];
$.each(myArray, function(index, value) {
    console.log(value);
});

Obligatory but unnecessary JSFiddle

这个问题基本上可以应用于任何其他jQuery函数,而不仅仅是.each()。这两种不同用法之间是否存在功能差异?

1 个答案:

答案 0 :(得分:1)

不,它们的运作方式没有区别。

主要区别在于使用$.each()允许您传入数组,而使用$().each()则需要使用构造的jQuery对象作为上下文。

可读性略有不同,但可以忽略不计。

如果您要查看jQuery's source code,您也可以确认一下,因为$.each只是调用每个原型的定义:

// Execute a callback for every element in the matched set.
each: function( callback ) {
    return jQuery.each( this, callback );
},