柯里化的作用
提高代码的复用性,减少代码的冗余,能够做到功能内聚,降低耦合,可多次传入参数,待参数传入完毕后再执行函数
// 返回的函数需要固定参数
/*
fn: 函数
*/
function fixParams(fn) {
let args = [].slice.call(arguments, 1)
return function() {
//
let _args = [].slice.call(arguments, 0)
return fn.apply(this, args.concat(_args))
}
}
// 柯里化
function Curry(fn, length) {
let len = length || fn.length
return function() {
let _args = [].slice.call(arguments, 0)
if(_args.length < len) {
let combines = [fn].concat(_args)
return Curry(fixParams.apply(this, combines), len - _args.length)
} else {
return fn.apply(this, _args)
}
}
}
本文探讨了柯里化在编程中的作用,如何通过柯里化提高代码复用,减少冗余,并增强代码的模块化。柯里化允许函数接受部分参数并返回新的函数,直到所有参数传入后执行。示例展示了如何实现柯里化函数,以适应不同场景的参数传递需求。
1608

被折叠的 条评论
为什么被折叠?



