函数柯里化(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));

浙公网安备 33010602011771号