1
//通用函数function compose() {var args = arguments;var start = args.length - 1;return function () {var i = start - 1;var result = args[start].apply(this, arguments);while (i >= 0){result = args[i].call(this, result);i--;}return result;};}function addHello(str){return 'hello '+str;}function toUpperCase(str) {return str.toUpperCase();}function reverse(str){return str.split('').reverse().join('');}var composeFn=compose(reverse,toUpperCase,addHello);console.log(composeFn('ttsy')); // YSTT OLLEH//上述过程有三个动作,「hello」、「转换大写」、「反转」,可以看到通过 compose 将上述三个动作代表的函数合并成了一个,最终输出了正确的结果。
