jquery - 请解释下面的代码

标签 jquery foreach

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 在下一个函数中,这里的名称是什么意思..和值 谢谢

最佳答案

$.each()中,n(第一个参数)是Array当前迭代的索引号(或Object的键名), value(第二个参数)是当前索引处项目的值。

它们作为参数传递给您传递给 $.each() 的函数。

因此,给定数组,循环中的每次迭代将如下所示:

n == 0, value == 'one'
n == 1, value == 'two'
n == 2, value == 'three'

对于对象,它将是这样的:

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

"here we didnt declare n at anywhere..."

它们实际上被声明为函数的形式参数。因此,它们将是该特定函数调用的局部变量。

关于jquery - 请解释下面的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4523963/

相关文章:

javascript - jQuery 隐藏和显示表单

c++ - 迭代 std::for_each 中成员函数的输出

java - 如何在循环内另外迭代 for(String s : st) in java?

php - 使用foreach比较两个表的结果

javascript - 跳转到网页部分时暂时突出显示 html 元素

jquery - jqGrid 格式化程序和可排序列 - 不排序

javascript - 仅返回过滤器的第二个匹配项

jquery - 我如何使用 jQuery 选择这个 id 属性

PHP循环curl请求一个一个

javascript - 在 php codeigniter 内的 javascript 中使用 foreach 获取列表