JS -- 函数组合
来源:互联网 发布:js点击按钮切换div 编辑:程序博客网 时间:2024/06/04 17:42
什么是函数组合?就是将需要嵌套执行的函数平铺。嵌套执行指的是,一个函数的返回值将作为另一个函数的参数。
一个简单的栗子:
var compose = function(f,g) { return function(x) { return f(g(x)); };};
这个函数可以完成两个函数的嵌套转平铺。
那么如果是支持多个参数的呢?也就是说,后一个函数的返回值总是作为前一个函数的参数。
代码来自大神博客:https://github.com/mqyqingfeng/Blog/issues/45
function compose() { var args = arguments; // arguments是一连串函数 var start = args.length - 1; return function() { var i = start; var result = args[start].apply(this, arguments); while (i--) result = args[i].call(this, result); return result; };};
为什么需要compose
为了实现pointfree:它指的是,在函数中,不需要提及操作的数据,而是通过compose中的底层函数去处理。也就是,在外层函数中,我们只需要拆分功能,然后交给下层函数去运算,而不需要具体的做数据操作。这样的好处就是,可以减少那些不必要的命名,还可以直接组合使用很多现成的工具库。
阅读全文
0 0
- JS -- 函数组合
- js 组合
- js 组合使用原型模式和构造函数模式
- js继承 原型链+构造函数+组合继承法
- 函数组合
- 键盘设置组合键调用JS方法,例如,Ctrl+Q ,键盘键操作JS函数
- js 创建对象的两种主要方法 构造函数 和 原型+构造函数组合
- JS组合模式
- js 组合算法
- js数组组合
- Js数组组合输出
- js的组合继承
- js之组合模式
- JS继承--组合继承
- js中组合使用构造函数模式和原型模式创建对象
- 在JS中组合使用构造函数模式和原型模式创建对象
- js创建对象的构造函数模式+原型模式和组合继承\Hybrid Pattern & combination inheritance
- JS创建对象之组合使用构造函数模式和原型模式
- 使用GCD处理几个线程之间的依赖关系。
- java内存分配浅析
- 进度报告——02
- 双十一临近,怎样让买家流畅地秒杀? ——腾讯WeTest独家开放电商产品压测服务
- 背包问题整理
- JS -- 函数组合
- ZOJ 3993 Safest Buildings (思路)
- 编译原理(七) 算符优先分析法(构造算符优先关系表算法及C++实现)
- 伪北漂....
- 学习C#以及C还有数据库
- SSE指令集优化学习:双线性插值
- 腾讯网移动端H5页面设计实战分享
- Leetcod:557.Reverse Words in a String III 反转字符串中的每个单词。
- 防止SQL注入策略