愿有人向我解释每个'方法在这?

时间:2014-10-22 10:39:38

标签: javascript jquery

$.getJSON("https://ajax.googleapis.com/ajax/services/feed/find?v=1.0&q=codecademy&callback=?",
  function(response) {
    console.log(response.responseData);
    $.each(response.responseData.entries, function (i,newsItem) {
        $("#newsfeed").append("<li>"+newsItem.title+"</li>");
    });
  });

来自Codecademy的代码

在看完纸上的代码和手中的铅笔之后,我开始理解以下内容:

  • 我们使用getJSON函数
  • 从提到的视图中获取JSON数据
  • 我们在控制台中记录了我们从网站获得的响应对象中存在的responseData对象
  • 之后,对于所有条目(我们从response.responseData.entries获得),我们调用一个附加到newsFeed元素的函数,每个条目的标题

但是,我无法理解(即使经过大量的试验和错误 - 删除一些代码并观察更改)将两个参数(inewsItem)传递给$.each的函数。这些论点究竟是什么意思,我们从哪里得到它们?它们的价值是什么?

编辑:抱歉提出了一个糟糕的问题。我确实去了文档,我确实查找了.each function,然而,在看到第一个例子之后我回来了,因为它显然没有传递给函数的两个参数。

2 个答案:

答案 0 :(得分:1)

这些参数是$.each方法的回调函数所需要的。

第一个参数(i)是函数迭代的当前索引。对于i,第一个元素的值为0,第二个元素的值为1,等等......如果要迭代一个对象,则该值将是该项的当前键。

第二个参数是当前迭代的实际元素。

一个简单的例子:

$.each( [ "a", "b", "c" ], function( index, elem ){
  console.log( index, elem );
});

这将产生以下输出:

0, "a"
1, "b"
2, "c"

答案 1 :(得分:1)

您可以查看此jQuery $.each文档http://api.jquery.com/jquery.each/。第一个参数是索引,第二个是元素。