函数作为参数传递时,函数在哪里接收输入?

时间:2016-05-04 15:59:45

标签: javascript

我有以下代码:

function forEach(array, action) {
  for (var i = 0; i < array.length; i++)
    action(array[i]);
}
var numbers = [1, 2, 3, 4, 5], sum = 0;
forEach(numbers, function(number) {
  sum += number; 
});
console.log(sum);

函数(数字)在哪里{sum + = number;传递时接收它的参数?结果函数看起来像这样吗?

function(array[i]){sum += array[i]} 

2 个答案:

答案 0 :(得分:2)

正常方式:在被调用的括号之间。

action(array[i]);
       ^^^^^^^^

答案 1 :(得分:1)

  

函数(数字)在哪里{sum + = number;传递时接收它的参数?

您已创建函数表达式并将其作为参数传递给函数( forEach )。该函数有一个参数。它可以在调用时使用。

action(array[i]);
//array[i] will be received as an argument to the passed function expression

内部forEach函数action将是一个函数引用。并且该函数引用能够传递一个已知参数。所以你可以随意调用它。