Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:多个参数_Javascript_Function_Lambda_Currying - Fatal编程技术网

JavaScript:多个参数

JavaScript:多个参数,javascript,function,lambda,currying,Javascript,Function,Lambda,Currying,举例说明如何在JavaScript中使用“currying”: const component = (argument1) => (argument2) => { // Do something } 您的代码有两个嵌套箭头函数的简短版本。以下是完整版本的外观(带有return语句和括号,看起来应该更清晰): 第一个函数(带argument1)返回函数。返回的函数采用argument2。在代码中有两个箭头函数,一个返回另一个,可以帮助您使用闭包维护状态/范围 const乘数

举例说明如何在JavaScript中使用“currying”:

const component = (argument1) => (argument2) => {
   // Do something
}

您的代码有两个嵌套箭头函数的简短版本。以下是完整版本的外观(带有return语句和括号,看起来应该更清晰):


第一个函数(带argument1)返回函数。返回的函数采用argument2。

在代码中有两个箭头函数,一个返回另一个,可以帮助您使用闭包维护状态/范围

const乘数=(argument1)=>(argument2)=>{
返回argument2*argument1;
};
常数乘数8=乘数(8);
console.log(倍数8(5));
console.log(倍数8(6));

console.log(倍数8(7))您所做的工作称为链接

const add = (a) => (b) => {
    return a + b;
}

var add5 = add(5); // returns partially applied function
var result = add5(4); // which can be invoked with its own parameter

console.log(result); // 9
Arrow函数提供了更简洁的语法,因为如果有一个参数,则可以省略参数周围的括号;如果函数体是单行,则可以省略方括号。我们可以使用常规js函数语法编写相同的代码:

const add = function(a){
    return function(b){
    return a + b
  }
}

这就是所谓的函数咖喱。它对于实现decorator模式非常有用

例如,假设我们从一个简单的函数
add
开始。
constadd=(a,b)=>a+b;

控制台日志(添加(1,2))
可能想看一看这是一个主要基于意见的问题,因为你会得到很多基于经验等的意见。因此,这个问题应该结束。下面是这样一个用法的示例,但我不明白它的用法的重要性:@CRice谢谢。这正是视频中使用的术语,你可以这样说,绝对是所有的抽象概念。为什么我们需要函数?为什么我们需要物品?为什么我们不把所有的工作都用脑筋去做呢。如果您曾经使用过
Array.prototype.map
,并且希望所有元素都增加一个值,通过一个箭头函数传递给它,这样做很好。如果您看到您在几个地方执行相同的操作,您可能希望将创建该函数抽象为一个函数,该函数接受不同的值,并返回一个可以传递到
map
的函数。很好的一点是,您可以为该操作指定一个名称,而作为箭头函数,它可能不会显示意图question@Ele我更新我的答案什么是“数组函数”?@charlietfl-抱歉,这是我的输入错误-我更新答案
const add = function(a){
    return function(b){
    return a + b
  }
}