函数柯里化—使用函数柯里化生成最简单的闭包

1、闭包
内部函数可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结) 了之后。
2、闭包函数
一个函数中返回一个函数,叫做闭包函数。
3、闭包的栗子
具体闭包的栗子之类的,请参照羊二哥大神的笔记(附连接:https://blog.csdn.net/weixin_43586120/article/details/89456183
4、函数柯里化(今日重点)
怎么吃掉一个包子?
二哈:一口吞了(纯函数,一步到位,传入n参数,一次性处理完成)
金毛:吃包子皮,吃肉馅,再吃掉剩余的包子皮(柯里化函数,层层处理,传入n参数,每次处理一个,多次处理)
4.1、柯里化:分步走。
4.2、函数柯里化:在这个过程中 我们能把一个带有多个参数的函数 转换成一系列的 嵌套函数 传递给函数一部分参数 来调用它,让它返回一个函数去处理剩下的参数。
4.3栗子

//纯函数
function add (x, y){
    
    
    return x + y;
}
console.log(add(1,2)) //3
// 函数柯里化
function add (x){
    
    
    return function(y){
    
    return x+y}
}
console.log(add(1)(2)) //3
// 化简

const add1 = x => y => x+y; 
console.log(add1(2)(2)) //4

4.4、优点
柯里化把一个多参数函数转换为一系列只带单个参数的函数,每次在调用一层后,目前的状态都处于闭包状态,从而继续执行下一层,直到最后一层执行完成后,返回结果。

猜你喜欢

转载自blog.csdn.net/DoLi_JIN/article/details/106025118