gpt4 book ai didi

javascript - 构造 "const increment = ()();"在 JavaScript 中起什么作用?

转载 作者:行者123 更新时间:2023-12-01 00:22:04 24 4
gpt4 key购买 nike

我正在处理这个 Javascript 代码示例:

    const real_numbers_array = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2];

//Karkoli že je increment, sedaj postane funkcija.
const increment = (
function(){
//Namesto zgornjega "function()" dobimo "increment"
return function increment (a1,a2 = 1){
return a1 + a2;
}

})();
console.log(increment(5,2));
console.log(increment(5));

我们有一个常数 increment我们为其分配一个匿名函数 function()返回函数 increment()有两个参数,其中第二个参数有默认值,这两个参数相加。

到目前为止我明白了这一点。但最后有})();而且我不知道最后一个空()是什么意思.

默认情况下,此代码返回:

enter image description here

如果我省略 ()我得到:

enter image description here

那么()有什么意义呢?在最后?是否有匿名函数function()实际上只返回increment我们添加()获取increment() 。如果是这样,为什么匿名函数不返回函数 increment() 。毕竟这是函数的默认表示法......

这是某种箭头函数的背叛吗? =)

最佳答案

IIFE (Immediately Invoked Function Expression)

末尾的函数表达式()立即调用该函数,JavaScript引擎将通过该函数直接解释该函数。

关于javascript - 构造 "const increment = ()();"在 JavaScript 中起什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59332653/

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