js 函数柯里化是什么,函数柯里化增加了函数的灵活性,减少了代码的重复性

柯里化的概念:

当函数有多个参数的时候,调用一个函数只传递部分参数(这部分参数会固定不变),并返回一个新的函数,而新的函数传递剩余的参数,并返回结果


        //硬编码   // 柯里化可以解决硬编码问题
        function checkAge(age) {
            let min = 18;//硬编码
            return age >= min;
        }
        //普通纯函数
        function checkAge(min,age) {//该函数输入相同的值始终会得到相同的输出,所以属于纯函数。而且内部的逻辑不依赖外部的变量,内部的变量也没有固定写死的值,不存在硬编码问题
            return age >= min;
        }
        //函数柯里化  :将参数拆成及部分,将函数拆成有闭包的多个函数
        function checkAge(min) {
            return function(age) {
                return age >= min;
            }
        }
        //es6箭头函数
        let checkAge = (min) => {return (age) => {return age >= min;}}
        let checkAge = min => (age => age >= min);
        //箭头函数内部需要返回的函数可以直接()包裹表示;箭头函数中如果只写一句代码,相当于return 这句代码
        // console.log(checkAge(18)(22));

总结:

  • 函数柯里化可以让我们给一个函数传递较少的参数得到一个已经记住了某写固定参数的新函数
  • 这是一种对函数参数的缓存
  • 让函数变得更灵活,让函数的粒度更小
  • 可以把多元函数转换成一元函数,可以组合使用函数产生强大的功能
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值