JavaScript语言精粹经典实例(整理篇)(3)

function currying(fn, n) { return function (m) { return fn.call(this, m, n); }; } function tailFactorial(n, total) { if (n === 1) return total; return tailFactorial(n - 1, n * total); } const factorial = currying(tailFactorial, 1); factorial(5) // 120

反柯里化

Function.prototype.uncurry = function () { return this.call.bind(this); };

push 通用化

var push = Array.prototype.push.uncurry(); var arr = []; push(arr, 1); push(arr, 2); push(arr, 3); console.log(arr);

以上内容是小编给大家介绍的JavaScript语言精粹经典实例(整理篇)的全部叙述,希望对大家有所帮助!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzspjx.html