gpt4 book ai didi

javascript - 详解Eloquent Javascript Chapter 6中的匿名函数代码示例

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:51:41 25 4
gpt4 key购买 nike

我在调用来自 Eloquent Javascript (Chapter 6) 的匿名函数代码示例的 sum 函数时遇到困难,虽然我了解在此 post 上澄清了什么,真不明白匿名函数是怎么调用的。

根据我对这段代码的理解:

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);

但是我无法运行第二个代码示例,它有什么问题吗?根据我的理解,调用语法 function (number) {} 是不可能的,但这不是第一个示例指示函数执行的操作吗?

最佳答案

在第二个代码片段中,您只是声明了一个匿名函数。 调用它,它应该可以正常工作。要“立即调用函数表达式”,您应该这样做:

(function (){
// Your code
})();

或者

(function (){
// Your code
}());

它们被称为 IIFE。 (在上面的引号中)

正如 user1600680 在下面的评论中指出的那样,要编辑您的代码,您必须从参数列表中删除 number。它会像这样:

(function () {
total += number;
})();

关于javascript - 详解Eloquent Javascript Chapter 6中的匿名函数代码示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12227943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com