《精通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);

此条目发表在 前端 分类目录,贴了 , 标签。将固定链接加入收藏夹。

《精通JavaScript》笔记——JavaScript Curry化的技术》有 1 条评论

  1. Pingback 引用通告: curry JavaScript at Redky

发表评论

电子邮件地址不会被公开。 必填项已被标记为 *

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>