好的,我了解在 forEach 函数中,action 参数充当打印函数,并在数组中的每个元素上调用以下代码:
function forEach(array, action) {
for (var i = 0; i < array.length; i++)
action(array[i]);
}
forEach(["Wampeter", "Foma", "Granfalloon"], print);
但在下一个示例中,将传递一个函数定义来代替 forEach 的 action 参数,如下所示:
function sum(numbers) {
var total = 0;
forEach(numbers, function (number) {
total += number;
});
return total;
}
show(sum([1, 10, 100]));
我迷路了。这段代码如何打印出给定数组的总和,但我无法解释它是如何做到的或它是如何工作的。问题 1:由于 number 是本地的并用于给 total 其最终值,因此如何或何时给定一个值?问题 2:total += number 如何作用于数组中的每个元素。