gpt4 book ai didi

javascript - 没有参数的匿名函数返回带有参数的自身

转载 作者:行者123 更新时间:2023-12-04 10:24:17 25 4
gpt4 key购买 nike

我正在学习 javascript 并且看到匿名函数是这样写的,没有任何解释:

const sum = (function() {
return function sum(x,y,z){
return (x+y+z);
};
})();
console.log(sum(1,2,3)); //6

我的阅读方式是:匿名声明一个函数并将其分配给 const sum。使用参数和 console.log() 调用 sum() 结果。

这让我很困惑,因为我不明白为什么它是这样写的。一些问题是:

当最外层函数没有指定参数时,sum 如何接受参数?
为什么我们不在最外面的函数上指定参数??为什么它会返回自身以及何时调用哪个“总和”?

如果它太愚蠢或太明显,请道歉。我挣扎了很多,终于决定在这里问。

最佳答案

首先,这个函数不仅是匿名的。它是一个 iife(立即调用函数)并且它正在返回 sum 函数。所以 const 变量 sum实际上是 iife 函数返回的 sum 函数。

console.log(sum(1,2,3));

因此,在上面的行中 sum 指的是函数 sum由 iife 函数返回,而不是 iife 函数本身

有关 iife 检查的更多信息 - https://developer.mozilla.org/en-US/docs/Glossary/IIFE

关于javascript - 没有参数的匿名函数返回带有参数的自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60692664/

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