JS函数的参数没有参数

时间:2018-03-03 12:42:10

标签: javascript function parameters arguments

var num = [2,4,6,8,10,12];
function print (n) {
console.log (n);
}
num.forEach(print);

我的理解是我们给函数的参数传入参数但是上面的代码没有传入任何参数。 我知道输出,问题是num的每个值的数组是如何传递给参数' n',而我只是在函数中调用它自己。 简化 如何参数' n'得到数组num的每个值? 谢谢

3 个答案:

答案 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()方法的参数提供的函数。