函数的元
就是参数个数
例如:有两个参数的函数就是二元函数
什么是偏函数
在计算机科学中,偏函数叫做部分应用、局部应用,
指固定一个函数的一些参数,然后产生另一个更小元的函数。
是柯里化的一种用法。
目标
例子
function add(a, b, c){return a + b;}add(1, 2);// 先传一部分参数,然后返回一个偏函数// 一定要先传一部分参数var add1 = partial(add, 1);// 再在后面把参数凑齐add1(2, 3);
在JavaScript中使用bind就可以实现这个功能
function add(a, b, c, d){ // 一个四元函数return a + b + c + d;}var newAdd = add.bind(null, 1, 2); // 使用bind,并传入头两个参数,返回一个新的函数console.log(newAdd(3, 4)); // 最后补回后两个参数
使用apply封装一个partial函数
function partial (x) {var _args = [].slice.call(arguments, 1);return function () {var newArgs = _args.concat([].slice.call(arguments));return x.apply(this, newArgs);}}// 或者在原型上添加Function.prototype.partial = function () {var _self = this,_args = [].slice.call(arguments);return function () {var newArgs = _args.concat([].slice.call(arguments));return _self.apply(this, newArgs);}}
