我刚开始学习Javascript,回调函数似乎很难理解。我有一个问题是javascript如何匹配回调函数中的参数?例如,在以下forEach循环中:
var friends = ['Mike', 'Stacy', 'Andy', 'Rick'];
friends.forEach(function(eachName, index){
console.log(index + 1 + ". " + eachName);
});
默认情况下,forEach函数是否会将索引传递给第二个参数并输入回调函数中的第一个参数?
为了掌握回调函数,每次使用它时是否需要检查API(在本例中为forEach)?
答案 0 :(得分:2)
默认情况下,forEach函数是否会将索引传递给第二个参数并输入回调函数中的第一个参数?
是; this is part of the specification。实际上,它还将迭代的数组作为第三个参数传递。
调用callbackfn的[[Call]]内部方法,将T作为此值,并将参数列表包含[值],[索引]和[对象] 。
(强调我的。)
为了掌握回调函数,每次使用它时是否需要检查API(在本例中为forEach)?
嗯,他们彼此非常一致,所以你会在某些时候记住。 map
,filter
,every
和some
也可以这种方式运作。
答案 1 :(得分:1)
默认情况下,如果您引用某些API,请更好地开始使用函数。
我已经使用了MDN。