每日一题,或多或少的总会有一些收获,当你随心所欲的时候,你会觉得一切都顺理成章。
今天的题目是:sum(1,2,3,4…n)转化为 sum(1)(2)(3)(4)…(n)
什么是函数柯里化?
柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。
// 普通的add函数
function add(x, y) {
return x + y
}
// Currying后
function curryingAdd(x) {
return function (y) {
return x + y
}
}
add(1, 2) // 3
curryingAdd(1)(2) // 3