js 函数柯里化和闭包的使用

news/2024/7/19 16:24:27 标签: python, java, js, vue, javascript

函数的柯里化

f(x)(y)就是柯里化:使用函数f,输入x,计算,获得一个新的函数,再次输入y,计算,获取结果。f(x)(y)(z)(a)(b)(c),你完全可以写这样的函数。每次进行一次计算时,都返回一个新的函数。当然,你也可以写成这样的方式g(x, y, z, a, b, c)

js">var add = function (num) {
        return function (y) {
            return num + y;
        }
    }
    console.log(add(2)(3))  //5

函数柯里化和闭包的使用

求和

js">var add = function (...args) {
       const target = (...args1)=>add(...[...args,...args1])
       target.getValue=()=>args.reduce((p,n)=>p+n,0)
       return target;
    }
    console.log(add(2,3,4).getValue()) 
    console.log(add(2,3,4)(3)(4).getValue()) 
    console.log(add(2)(3)(4).getValue())

http://www.niftyadmin.cn/n/509774.html

相关文章

CSDN_博客等级说明

文章目录一、博客积分规则二、升级博客等级三、博客等级权益一、博客积分规则 博客积分是CSDN对用户努力的认可和奖励,也是衡量博客水平的重要标准。博客等级也将由博客积分唯一决定。积分规则具体如下: 每发布一篇原创或者翻译文章:可获得…

【JS】Array 数组简解

文章目录一、数组概述1.1 数组索引1.2 数组长度1.3 数组空位二、创建数组2.1 字面量创建2.2 构造函数创建其他资料一、数组概述 什么是数组?字面理解就是数字的组合其实不太准确,准确的说数组就是一个数据的集合也就是我们把一些数据放在一个盒子里面&a…

【JS】Math 对象用法

Math 对象对象属性随机数 random()最值 min() 和 max()舍入 ceil()、floor()、round()、fround()其它方法扩展: Math 对象上提供的计算要比直接在JavaScript实现的快的多,因为Math 对象上的计算使用了 JavaScript引擎中更高效的实现和处理器指令。但使用…

SVG的使用引入

SVG引入 SVG的代码可以直接嵌入到HTML页面中,也可以直接链接到SVG文件。 SVG 文件可通过以下标签嵌入 HTML 文档: ​ 、

【JS】String 字符串简解

文章目录创建字符串1. 字面量创建(常用)2. 内置构造函数创建操作字符串1. 字符串长度2. 字符串赋值3. 字符串索引4. 字符串遍历模板字符串【ES6】与普通字符串区别ASCII 字符集ASCII 表字符串比较Unicode 编码【扩展】创建字符串 我们创建字符串也分为两…

【JS】Date 对象用法

文章目录Date 对象Data 方法getFullYeargetMonthgetDategetHoursgetMinutesgetSecondsgetDaygetTime时间差计算时间差获取时间差 now()Date 对象 Date 是 js 的一个内置对象,该对象存储日期和时间,并提供了日期/时间的管理方法 new Date()在不传递参数的…

SVG的形状元素

SVG的形状元素 矩形 圆形 椭圆 线 折线 多边形 路径 矩形 <svg xmlns"http://www.w3.org/2000/svg" version"1.1"><rect x"50" y"20" rx"20" ry"20" width"150" height"150" sty…

CSS_Column多列布局

文章目录CSS3 多列浏览器兼容多列属性column-countcolumn-gapcolumn-rulecolumn-spancolumn-widthBGU解决方法CSS3 多列 CSS3 可以将文本内容设计成像报纸一样的多列布局 浏览器兼容 多列属性 column-count column-count&#xff1a;指定了需要分割的列数 div {-webkit-co…