博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
柯里化
阅读量:6898 次
发布时间:2019-06-27

本文共 612 字,大约阅读时间需要 2 分钟。

缘由:

有一道题:

实现一个函数sum ,运算结果可以满足如下预期sum(1,2,3).valueOf()  //6sum(2,3)(2).valueOf() //7sum(1)(2)(3)(4).valueOf()  //10sum(1)(4,1)(2).valueOf()  //9

明眼一看就知道是把所有的参数相加,每次返回该函数,不断调用。

怎么实现呢?请看:

function sum(){    var args = [].slice.call(arguments);    var fn = function() {        var newArgs = args.concat([].slice.call(arguments));        return sum.apply(null,newArgs);    }    fn.valueOf = function() {        return args.reduce(function(a, b) {            return a + b;        })    }    return fn;}  sum(1,2,3).valueOf();  //6sum(2,3)(2).valueOf(); //7sum(1)(2)(3)(4).valueOf();  //10sum(1)(4,1)(2).valueOf();  //9

转载地址:http://fycdl.baihongyu.com/

你可能感兴趣的文章
CCNA2.0笔记_HSRP
查看>>
wamp You don't have permission to access / on this server等问题的解决.
查看>>
【POJ】3071 Football
查看>>
ArcGis 统计方法
查看>>
Resource interpreted as Script but transferred with MIME type text/plain
查看>>
VirtualBox安装及使用说明和虚拟机安装XP系统图文教程
查看>>
【android】优秀的UI资源站点集合
查看>>
iOS 容易引“起循环引用”的三种场景
查看>>
轮播图点击 手势 代码
查看>>
新年札记:自学系统补完计划
查看>>
[Javascript] Gradient Fills on the HTML5 Canvas
查看>>
对CAB文件进行数字签名
查看>>
SQL Server 变更数据捕获(CDC)
查看>>
Starting httpd:Could not reliably determine the server's fully qualified domain name
查看>>
2015第19周一
查看>>
datatables 参数详解(转)
查看>>
[福利]非认证公众帐号也能申请微信连Wi-Fi了
查看>>
什么时候用Application的Context,什么时候用Activity的Context
查看>>
解读ASP.NET 5 & MVC6系列(15):MvcOptions配置
查看>>
东大oj-1591 Circle of friends
查看>>