Open
Description
函数式编程语言特性
在函数式编程语言中,函数是第一类的对象,也就是说,函数不依赖于任何其他的对象而可以独立存在,而在面向对象的语言中,函数 ( 方法 ) 是依附于对象的,属于对象的一部分。这一点 决定了函数在函数式语言中的一些特别的性质,比如作为传出 / 传入参数,作为一个普通的变量等。
匿名函数
匿名函数(英语:anonymous function)是指一类无需定义标识符(函数名)的函数或子程序。比如:
(function(){document.title=location.href;})();
第一对圆括号中的函数(“(function(){document.title=location.href;})”)用作声明一个匿名函数,而最后的一对圆括号则用来执行这个函数。
在函数式编程语言中,函数是可以没有名字的。匿名函数通常表示:“可以完成某件事的一块代码”。这种表达在很多场合是有用的,因为我们有时需要用函数完成某件事,但是这个函数可能只是临时性的,那就没有理由专门为其生成一个顶层的函数对象。
柯里化
柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。
在直觉上,柯里化声称“如果你固定某些参数,你将得到接受余下参数的一个函数”。
比如,f(x,y)=x*y
,如果固定了 y=2
,则得到有一个变量的函数 f(x)=2x
。
柯里化,接受一个参数(减少了函数的变量数量),并返回一个新函数(具体化了函数的用意)。
高阶函数
在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:
- 接受一个或多个函数作为输入
- 输出一个函数
在函数式编程中,返回另一个函数的高阶函数被称为柯里化的函数。
参考资料
Metadata
Metadata
Assignees
Labels
No labels