JS柯里化curry

slice可以将具有LENGTH属性的对象转为数组

var b={length:3,0:1,1:'ab',2:'bb'};

alert(Array.prototype.slice.call(b,0));


var a=[1,3,4,5,6];

alert(Math.max.apply(null,a));


var curry = function(fn){
    var args = Array.prototype.slice.call(arguments,1);
    return function(){
        var newArgs = Array.prototype.slice.call(arguments,0).concat(args);
        return fn.apply(null,newArgs);
    }
}


function sum(a,b){

    return a+b;
}


var sum10 = curry(sum,10);
alert(sum10(20));   //30


版权声明:本文为magicfly9527原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。