gpt4 book ai didi

javascript - JS中命名回调函数和匿名回调函数的区别

转载 作者:行者123 更新时间:2023-12-02 17:15:50 28 4
gpt4 key购买 nike

我编写了以下练习代码来比较命名回调函数和匿名回调函数之间的差异,但是命名回调函数会抛出错误,我想知道为什么以及使用命名回调函数的正确方法是什么。感谢您的浏览

friends = ["John", "Mike", "Resch", "Tony"];

friends.forEach(function(value, index) {
console.log('index of ' + index + ', value is: ' + value);
});

function iterate(value, index)
{
console.log('index of ' + index + ', value is: ' + value);
}

friends.forEach(iterate(value, index));

最佳答案

最后一行应该是:

friends.forEach(iterate);

这将传递函数迭代本身,以便.forEach()可以调用它并为其参数提供参数,索引

通过在其后面添加额外的括号,实际上会立即调用 iterate 并(尝试)传递 forEach() 其返回值 (undefined 默认)。

这些错误可能是因为 valueindex 不存在于 iterate() 之外。

<小时/>

作为比较,相当于:

friends.forEach(iterate(value, index));

使用匿名函数将是:

friends.forEach(function(value, index) {
console.log('index of ' + index + ', value is: ' + value);
}(value, index));

关于javascript - JS中命名回调函数和匿名回调函数的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24444204/

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