var num = [2,4,6,8,10,12];
function print (n) {
console.log (n);
}
num.forEach(print);
我的理解是我们给函数的参数传入参数但是上面的代码没有传入任何参数。 我知道输出,问题是num的每个值的数组是如何传递给参数' n',而我只是在函数中调用它自己。 简化 如何参数' n'得到数组num的每个值? 谢谢
答案 0 :(得分:0)
' print'你传递的函数作为' forEach'的参数。是一个带有一组特定参数的回调函数。当forEach迭代数组的每个项时,它在特定的迭代期间传递数组的currentValue作为回调函数的第一个参数(即,在您的情况下打印')
以下是数组forEach的一般语法:
array.forEach(function(currentValue, index, arr), thisValue)
答案 1 :(得分:0)
forEach方法的简化版本如下所示
foreach(this: array, fn : (element) => void) : void {
for (i = 0; i < this.length; i++) {
fn(this[i])
}
}
每个方法都负责将数组的每个元素作为参数传递n
答案 2 :(得分:0)
num
将它接收的函数映射到调用它的对象的元素。
在您的情况下,print
数组的元素会自动作为参数传递给num
函数,因为.forEach()
正在调用其print
方法并{{1是作为.forEach()
方法的参数提供的函数。