如果要迭代的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);
});
这个问题基本上也适用于任何其他jQuery函数,而不仅仅是.each()
。这两种不同的用法之间有功能上的区别吗?
发布于 2016-10-04 23:19:36
不,他们的运作方式没有什么不同。
主要区别在于,使用$.each()
可以传递数组,而使用$().each()
则需要将构造的jQuery对象用作上下文。
可读性略有不同,但这是可以忽略不计的。
如果要查看jQuery的源代码,也可以确认这一点,因为$.each
只是对每个原型定义的调用:
// Execute a callback for every element in the matched set.
each: function( callback ) {
return jQuery.each( this, callback );
},
https://stackoverflow.com/questions/39863152
复制相似问题