我在调用Eloquent Javascript(第 6 章)中的匿名函数代码示例的 sum 函数时遇到了困难,虽然我理解这篇文章中澄清的内容,但我真的不明白匿名函数是如何被调用的。
据我了解这段代码:
function forEach(array, action) {
for (var i = 0; i < array.length; i++)
action(array[i]);
}
function sum(numbers) {
var total = 0;
forEach(numbers, function (number) {
total += number;
});
return total;
}
alert(sum([1, 10, 100, 1000]));
类似于此代码(感谢@CKKiller 在另一个线程中的帮助):
numbers = [1, 10, 100, 1000];
for (var i = 0; i < numbers.length; i++) {
var number = numbers[i];
function (number) {
total += number;
}
}
alert(total);
但是我无法运行第二个代码示例,它有什么问题?据我了解,无法调用语法函数 (number) {},但这不是第一个示例指示函数执行的操作吗?