柯里化函数
柯里化函数 -- 期待固定数量参数 //固定参数 function fixedCurryParams(fn) { var _args = [].slice.call(arguments, 1) return function () { var newArgs = _args.concat([].slice.call(arguments, 0)) return fn.apply(this, newArgs) } } //期望参数 参数没给够就一直期望 可以累积参数 function curry(fn, length) { var length = length || fn.length return function () { if (arguments.length < length) { var combined = [fn].concat([].slice.call(arguments, 0)) return curry(fixedCurryParams.apply(this, complay), length - arguments.length) } else { return fn.apply(this, arguments) } } } 测试 function add(a, b, c, d) { return a + b + c + d; } var