函数柯里化(Curry)

1. 函数柯里化:把接受多个参数的函数转换成接受一个单一参数的函数

2.

 1 //柯里化
 2 var foo = function (x) {
 3   return function (y) {
 4       return x+y;
 5     }
 6 }
 7    foo(3)(4) //7
 8 
 9 //普通方法
10 var add = function (x,y) {
11    return x+y;
12 }
13   add(3,4) //7

3. 面试题:编写一个sum函数,实现如下功能:console.log (sum(1)(2)(3))

1 function sum(a) {
2   return function(b) {
3       return function(c) {
4            return a + b + c;
5        }
6    }
7 }

4. 函数式编程:

5.

 1 function addThreeNums(a, b, c) {
 2   return a + b +c;
 3 }
 4 
 5 console.log(addThreeNums(1, 2, 3));
 6 
 7 function addThreeNumsCurry(a) {
 8  return function (b) {
 9     return function (c) {
10          return a + b + c;
11      };
12    };
13 }
14 
15 console.log(addThreeNumsCurry (1)(2)(3));
16 
17 var fixedTwo=addThreeNumsCurry (1)(2);
18 console.log(fixedTwo(4));
19 console.log(fixedTwo(5));
20 console.log(fixedTwo(6));
posted @ 2021-05-05 22:01  icyyyy  阅读(238)  评论(0)    收藏  举报