函数柯里化

 1 var fnCurry = function(fn) {
 2     var _slice = Array.prototype.slice,
 3         _args = slice.call(arguments, 1);
 4     return function() {
 5         return fn.apply(this, _args.concat(_slice.call(arguments)));
 6     };
 7 };
 8 
 9 var forCurry = function(fn) {
10     var _slice = Array.prototype.slice,
11         _args = _slice.call(arguments, 1);
12     return function _fn() {
13         if (arguments.length === 0) {
14             return fn.apply(this, _args);
15         }
16         _args = _args.concat(_slice.call(arguments));
17         return _fn;
18     };
19 };
20 
21 function _add() {
22     var args = Array.prototype.slice.call(arguments),
23         sum = 0;
24     for (var i = 0, len = args.length; i < len; i++) {
25         sum += args[i];
26     }
27     return sum;
28 }

 

posted @ 2020-06-11 11:42  xlsdg  阅读(199)  评论(0)    收藏  举报