柯里化,是函数式编程的一个重要概念。它既能减少代码冗余,也能增加可读性。另外,附带着还能用来装逼。
先给出柯里化的定义:在数学和计算机科学中,柯里化是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的技术。
{
function fn(a, b, c) {
return `a=${a}b=${b}c=${c}`
}
console.log((fn(1, 2, 3)));
}
{
//柯里化
function fn(a) {
let srt = `a=${a}`
return function (b) {
srt += `b=${b}`
return function (c) {
srt += `c=${c}`
return srt
}
}
}
console.log(fn(1)(2)(3));
//这种情况我们就可以进行参数的复用
function fn1(a) {
return function (b) {
return function (c) {
return a + b + c
}
}
}
let htp = fn1('http://')
htp(123)('.com')//输出http://123.com 复用了http参数
htp(456)('.com')//输出http://456.com
}