Eloquent Javascript (Chapter 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);
しかし、2 番目のコード例を実行できません。何が問題なのですか? 私の理解では、構文関数 (数値) {}を呼び出すことはできませんが、最初の例が関数に指示していることではありませんか?