首页 > Web开发 > 详细

js实现无限柯里化加法

时间:2015-11-05 18:54:07      阅读:522      评论:0      收藏:0      [点我收藏+]

前端进阶计划第42周作业 看到。

js实现无限柯里化加法,也就是实现:

add(1)(2)(3)(); // => 6
add(1)(2)(3)(4)(); // => 10
add(1)(2)(3)(4)(5)(); // => 15

参考了柯里化的通用实现,于是写成了这样:

function adder( me ) {
            var slice = Array.prototype.slice,
            __args = slice.call(arguments);    
             return function () {
                var __inargs = slice.call(arguments);
                if( arguments.length == 0 ){
                    var me = 0 ;
                    for(var i in __args){
                        me +=  __args[i];
                    }
                    return me ;            
                }                    
                else
                   return adder.apply(this, __args.concat(__inargs));
            };
        }
alert( adder(1)(2)() );

 

js实现无限柯里化加法

原文:http://www.cnblogs.com/stois/p/4940358.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!