柯里化介绍
柯里化的结构
简化版本
让函数的职责单一
柯里化的复用
对某些逻辑进行复用
打印日志的柯里化
自动化柯里化函数
实现柯理化函数
1.柯里化函数是对函数进行处理的方法,所以参数就为一个函数,这里取名w为fn
2.定义一个函数curried,柯里化是对原本一次多个参数传入进行接收改为分次接收这多个参数,但是每次传入的参数个数不一定是一个,此时就需要使用...args进行接收。
3.判断当前接收参数的个数,要知道一个函数有几个参数也是使用.length进行查看。将当前接收的参数与fn中所有的参数进行对比,如果大于或等于所有的参数,那么就代表所有参数已经接收到,直接将this指向指回去,并将参数数组传入执行函数
4.如果小于,那么就代表参数并没完全接收到,所以需要创建一个新的函数curried2继续接收参数。将接收的参数放入到args2中
5.接收到参数后,递归curried函数,将args与args2通过concat接在一起,判断个数是否达到。
理解组合函数
组合函数使用