我不明白第一类函数的参数“数字”如何具有它的值。
这几天我一直在考虑这个问题,但我的想法没有任何进展。没有错误代码,因为这是完全有效的 JS。
此示例代码来自 Eloquent JS 一书(http://eloquentjavascript.net/2nd_edition/05_higher_order.html#c_chCFkdNvRH第 2 版)。
// definition
function forEach(array, action) {
for (var i = 0; i < array.length; i++)
action(array[i]);
}
//vars
var numbers = [1, 2, 3, 4, 5], sum = 0;
// implemented function
forEach(numbers, function(number) {
sum += number;
});
//output
console.log(sum);
// → 15
我不明白为什么“数字”不被认为是未定义的。参数不应该是引用实际数组的“numbers[i]”或“numbers”吗?