如果我想要迭代的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()
。这两种不同用法之间是否存在功能差异?
答案 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 );
},