JS函数柯里化及其应用

来源:互联网 发布:中国象棋教学软件 编辑:程序博客网 时间:2024/06/07 01:21

函数柯里化用来创建已经设置好一个或多个参数的函数。

下面是一个用来创建柯里化函数的通用函数。

function curry(fn) {    var outerArgs = Array.prototype.slice.call(arguments, 1);    return function() {        var innerArgs = Array.prototype.slice.call(arguments),            finalArgs = outerArgs.concat(innerArgs);        return fn.apply(null, finalArgs); //注意别漏了return    };}

这个函数很有用,比如可以向定时器传递一个带参数的函数,如下:

function sayHi(name) {    alert("Hi," + name);}setTimeout(curry(sayHi, "yhj"), 1000);





原创粉丝点击