1 Star 1 Fork 1

jiniaochi/fe-handwriting

forked from 晴转阴/fe-handwriting 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
1.compose.js 769 Bytes
一键复制 编辑 原始数据 按行查看 历史
/**
* 实现Compose函数: 让多层包含调用改为单层一次性传参
*/
// https://juejin.cn/post/6968713283884974088#heading-1
// 用法如下:
function fn1(x) {
return x + 1;
}
function fn2(x) {
return x + 2;
}
function fn3(x) {
return x + 3;
}
function fn4(x) {
return x + 4;
}
const a = compose(fn1, fn2, fn3, fn4); //等于fn1( fn2( fn3( fn4(1) ) ) )
console.log( a(1) ); // 1+4+3+2+1=11
function compose(...callbacks) {
var initFunc = (it) => it
return callbacks.reduce((resultFn, item) => {
var resultFnNew = (...args) => { // 形参, 返回构建的新函数( 欧,我只记得用来算数组结果,还能用来循环变换当前返回结果 )
return resultFn(item(...args))
}
return resultFnNew
}, initFunc)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/jiniaochi/fe-handwriting.git
git@gitee.com:jiniaochi/fe-handwriting.git
jiniaochi
fe-handwriting
fe-handwriting
master

搜索帮助