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