首页 > 其他分享 >自动柯里化函数

自动柯里化函数

时间:2024-10-21 21:02:55浏览次数:7  
标签:function ... return 函数 args 自动 柯里化 fn

function foo(x,y,z){
            console.log(x+y+z)
        }
        function webKingCurrying(fn){
            function curryFn(...args){  //--->这里的...args是剩余参数
                //两类操作:
                //1.第一类操作:继续返回一个新的函数,继续接受参数
                //2.第二类操作:直接返回fn的函数
                if (args.length>= fn.length){
                    //执行第二类操作
                    //fn(...args)  //这里的...args是展开运算符--->相当于把数组中所有的数都展示出来
                    return fn(...args)
                }else {
                    return function (...newArgs){
                       return  curryFn(...args.concat((newArgs)))
                    }
                }
            }
            return curryFn
        }
        //对其他的函数进行柯里化
        var fooCurry = webKingCurrying(foo)
        fooCurry(10)(20)(30)
        fooCurry(55)(12)(16)
        //sum函数
        function sum(num1,num2){
            return num1+num2
        }
        //sum函数柯里化
        var sumCurry = webKingCurrying(sum)
        console.log(sumCurry(10)(20))

标签:function,...,return,函数,args,自动,柯里化,fn
From: https://www.cnblogs.com/hdc-web/p/18490373

相关文章

  • 网站域名是https的,前端直接访问其他网站的http网址,为什么自动转成https的了
    当一个网站使用HTTPS(安全超文本传输协议)时,浏览器通常会自动将任何对HTTP(非安全超文本传输协议)网址的请求重定向到HTTPS版本。这种行为由多个因素引起,以下是一些可能的原因:1. HSTS(HTTPStrictTransportSecurity)HSTS是一种安全特性,允许网站声明被浏览器强制使用HTTPS。......
  • 异步函数 async function
    ◼async关键字用于声明一个异步函数:async是asynchronous单词的缩写,异步、非同步;sync是synchronous单词的缩写,同步、同时;◼async异步函数可以有很多中写法asyncfunctionfoo(){}constfoo1=asyncfunction(){}constfoo2=async()=>{}classPerson{asyncfoo......
  • API自动化测试平台:企业API管理的得力助手
    随着微服务架构和分布式系统的广泛应用,软件系统的复杂性不断增加,传统的手动测试方法已经无法满足快速迭代和高质量交付的需求。API作为系统间通信的核心,其稳定性和可靠性对于整个软件系统至关重要。因此,API自动化测试平台应运而生,它们提供了一种高效、可重复且可靠的测试手段,能够......
  • ORACLE 添加自定义函数
    返回一个值createorreplaceFUNCTIONGET_KEY_BY_QUERY(AAAINVARCHAR2)RETURNNUMBERISITEM_VALUENUMBER;BEGINSELECT'TEST'INTOITEM_VALUEFROMDUAL;RETURNITEM_VALUE;END;返回结果集CREATEORREPLACEFUNCTIONGET_LIST_BY_QUERY(......
  • ORACLE 自定义函数,把字符串拆分为列/结果集
    使用REGEXP_SUBSTRSELECTREGEXP_SUBSTR(key,'[^,]+',1,ROWNUM)ASVALUEFROM(select'1,3,4,4'askeyfromdual)CONNECTBYROWNUM<=LENGTH(key)-LENGTH(REPLACE(key,',',''))+1;自定义函数:ODCIVARCHAR2LI......
  • Scala的高阶函数
    高阶函数作用:把其他函数当做参数或返回值defmain(args:Array[String]):Unit={//定义数组,Array(1,2,3,4)vararr=Array(10,22,13,54)//定义一个数组有4个元素//println(arr(2))//获取第一个元素//遍历for(i<-arr)......
  • 函数的力量:掌握C语言的基石
    目录前言标准库:C语言的百宝箱头文件:库函数的藏宝图实例分析:计算平方根的sqrt函数功能描述头文件包含的重要性库函数文档的一般格式自定义函数:释放你的编程创造力函数的语法形式 函数的比喻函数的举例 简化函数定义形参和实参形参实参实参和形参的关系retur......
  • 自动执行generator生成器函数
    自动执行generator函数◼目前我们的写法有两个问题:第一,我们不能确定到底需要调用几层的Promise关系;第二,如果还有其他需要这样执行的函数,我们应该如何操作呢?◼所以,我们可以封装一个工具函数execGenerator自动执行生成器函数<script>//封装一个请求方法......
  • 无监督的神经网络模型——自动编码器(Autoencoder)解读
    采用自动编码器进行高效特征提取详解自动编码器(Autoencoder)是一种无监督的神经网络模型,广泛应用于数据降维、特征提取、数据压缩和去噪等领域。通过学习数据的有效编码,自动编码器能够将高维数据映射到低维隐含空间,同时保留尽可能多的原始信息。本文将深入探讨如何采用自动......
  • UI自动化测试方案及各个环境部署步骤
    Saas后台UI自动化测试方案一、背景saas后台功能繁多,人工回归工作量大;版本持续迭代周期快,无足够的人力资源进行全量回归测试,特别是后端架构变动时,影响范围很广,导致测试占用时间太多。二、目标目标一:对冒烟测试、主功能回归测试进行自动化,这样可以持续,快速的分析新需求加入,版......