结构是什么;常数增量=()&引用;你喜欢JavaScript吗?

结构是什么;常数增量=()&引用;你喜欢JavaScript吗?,javascript,Javascript,我正在处理这个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

我正在处理这个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()
,其中第二个参数有一个默认值,这两个参数相加

到目前为止,我理解这一点。但是在最后有
}()()
是什么意思

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

如果我省略了
()
,我会得到:

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

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

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

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

常数num1=1,num2=2;
const calculateSum=(函数(n1,n2){
返回n1+n2;
})(num1,num2);
console.log(calculateSum);//3
常数num1=1,num2=2;
const calculateSum=(函数(n1,n2){
返回n1+n2;
})(num1,num2);

console.log(calculateSum);//3
它是一个IIFE(立即调用的函数表达式),定义后立即运行
()
它通过Javascript引擎创建函数表达式,解释函数并返回输出。这个问题提供了详细信息:但我也不知道为什么这个函数需要它,我认为在这种特殊情况下没有必要它是一个IIFE(立即调用的函数表达式)它在定义后立即运行
()
它通过Javascript引擎创建函数表达式,解释函数并返回输出。这个问题提供了详细信息:但我也不知道为什么这个函数需要它,我认为在这种情况下没有必要。非常感谢您的快速响应。@71GA,非常欢迎:)非常感谢您的快速回复。@71GA,非常欢迎:)