@Bios
2018-12-10T08:43:59.000000Z
字数 502
阅读 991
js
在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。
中心思想:降低通用性,提高适用性
特点:
- 参数复用
- 提前返回 (return)

apply会执行函数
传入参数时,先把他们存在数组中,当没有传参就执行计算

- 参数的多少跟函数体的复杂性成正比
- 参数的多少跟函数的维护难度成正比
- 参数的多少跟用户的使用难度成正比
// 通用function curry(fn, args) {var length = fn.length, // 获取方法的参数个数args = args || [];return function() {var _args = args.slice(0), i;for (i=0;i<arguments.length; i++) {_args.push(arguments[i]);}if (_args.length < length) {return curry.call(this, fn, _args);} else {return fn.apply(this, _args);}}}
