当前位置:首页 > JS中的柯里化

JS中的柯里化

发布于 2018-05-09 阅读 422 次 Javascript

刚拿到这个面试题,一脸懵逼的状态,对于这个词感觉很陌生,再加上只是口述,我以为是颗粒化呢,心想颗粒化是个什么鬼,在面试官的提示下,我意识到,应该是和bind差不多的东西。但是终因自身的原因,极度紧张,从小脸皮薄,木有回答好。一紧张脑子空白。

简单来说就是把一个接收单一参数的函数变成接受一个参数的,函数。

下面是一个经典例子

function curray(fn){
    var args = [].slice.call(arguments, 1);
    return function(){
        var newArgs = args.concat([].slice.call(arguments));
        fn.apply(null, newArgs))
    }
}
function fn(a, b){
    console.log(1);
}
var curraying = curray(fn, 1);
curraying(2);