zoukankan      html  css  js  c++  java
  • 柯里化函数

    来自百度百科:柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。

    可能上面的话比较抽象,但是用代码实现去理解是很明了的↓↓↓

    <!DOCTYPE html>
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
      </head>
        <body>
            <script type="text/javascript">
                function currey(fn){
                    var arr=[];
                    return function(){
                        if(arguments.length>0){
                            arr=arr.concat([].slice.call(arguments));
                            return arguments.callee;
                        }else {
                            return fn(arr)
                    }
                };
                }
                function getSum(arr){
                    var sum= arr.reduce((value,item)=>{
                        return value+item
                    })
                    return sum
                }
                function getProduct(arr){
                    var sum=arr.reduce((value,item)=>{
                        return value * item
                    })
                    return sum
                }
                var sum=currey(getProduct);
                sum(1,2);
                // sum(2,3,4);
                sum(1,2)(3)
                var s=sum();
                console.log(s);
            </script>
        </body>
    </html>
  • 相关阅读:
    软件工程课程设计团队项目总结与项目报告
    个人总结
    团队项目UI
    黄金点
    wordcount
    小学运算
    第七周
    第八周
    第六周博客
    第五周博客
  • 原文地址:https://www.cnblogs.com/shewill/p/13432893.html
Copyright © 2011-2022 走看看