var anArray = ['one','two','three'];
$.each(anArray,function(n,value) {
//do something here
});
var anObject = {one:1, two:2, three:3};
$.each(anObject,function(name,value) {
//do something here
});
这里我们没有在第一个函数的任何地方声明n 在下一个函数中,这里的名称和价值是什么意思 三江源
答案 0 :(得分:1)
请参阅Jquery每个函数引用 http://api.jquery.com/jQuery.each/
它将为数组的每个元素调用一个回调函数,值将按如下方式传递:
name : Index in Array
value : Current Value of the element
n
与Name
相同,只是变量名称已更改。
答案 1 :(得分:1)
在$.each()
中,n
(第一个参数)是Array的当前迭代的索引号(或Object的键名),以及value
(第二个参数) )是当前索引处项目的值。
它们作为参数传递给您传递给$.each()
的函数。
因此,给定数组,循环中的每次迭代都如下所示:
n == 0, value == 'one'
n == 1, value == 'two'
n == 2, value == 'three'
对于Object,它将是:
name == 'one', value == 1
name == 'two', value == 2
name == 'three', value == 3
测试它的简单方法是将变量记录到控制台。
取代:
// do something here
有:
console.log( n, value ); // for the Array
console.log( name, value ); // for the Object
“这里我们没有在任何地方声明n ......”
它们实际上被声明为函数的形式参数。因此,它们将是该特定函数调用的局部变量。
答案 2 :(得分:1)
jQuery.each( collection, callback(indexInArray, valueOfElement) )
这里,n是在回调处理anArray的每个元素(或anObject的每个属性的名称)时传递的数组中的索引。阅读http://api.jquery.com/jQuery.each/