标签归档:curry
《精通JavaScript》笔记——JavaScript Curry化的技术
《精通JavaScript》真是一本好书,里面讲解了很多鲜为人知的JavaScript的知识与技巧。今天在看时,发现一个JavaScript Curry化的技术,很实用,现在记录下。 本质上,Curry化是一种通过把多个参数填充到函数体中,实现将函数转换为一个新的经过简化的(使之接受的参数更少)函数的技术。 下面是书中一个简单的例子,它通过向另外一个函数预填参数而创建了一个新函数。 // 数字求和函数的函数生成器 function addGenerator(num){ // 返回一个简单的函数,求两个数字的和,其中第一个数字来自生成器 return function(toAdd){ return num + toAdd; }; } // addFive 现在包含一个接受单一参数的函数,这个函数能求得 5 加上该参数的和 var addFive = addGenerator(5); // 这里我们可以看到,在传入参数为 4 时,addFive 函数的结果是 9 alert(addFive(4)==9);