组合(Compose)函数是在JavaScript开发过程中一种对函数的使用技巧、模式:
1、比如我们现在需要对某一个函数进行函数的调用,执行两个函数fn1和fn2,这两个函数是依次执行的;
2、那么如果我们每次都需要进行两个函数的调用,操作上就会显得重复;
3、那么是否可以将这两个函数组合起来,自动依次调用呢?
4、这个过程就是对函数的组合,我们称之为组合函数(Compose Function);
function double(num){
return num*2
}
function square(num){
return num**2
}
//使用起来比较冗余
var count=10;
var result=square(double(count))
console.log(result)
var count=100
var result=square(double(count))
console.log(result)
//组合
//实现一个最简单的组合函数
//composeFn称之为组合函数
function composeFn(m,n){
return function(count){
return n(m(count))
}
}
var newFn=composeFn(square,double)
console.log(newFn(10))