116180751466593570
前言
组合函数:通过调用一个函数实现按序调用多个普通函数
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| var fn1 = function (x1, x2) {return 1} var fn2 = function (y) {return 2} var fn3 = function (z) {}
function composeTool(...fns) { return function (...args) { for (var i = 0; i < fns.length; i++) { if (i === 1) { var result = fns[0].apply(this, args); } else { fns[i].apply(this, [result]); } } } }
var composeFn = composeTool(fn1, fn2, fn3);
fn3(fn2(fn1(1, 2)));
composeFn(1, 2);
|
完成