Mark24
记录灵感、技术、思考
函数式编程概念一句话解释
1.函数重载
可以声明多个类、函数,但是参数列表不同。根据参数,去调用响应的类、函数。
这样有个好处,逻辑层面不需要对参数进行 if/else
判断。
2.高阶函数(Higher-order function)
就是参数为函数或返回值为函数的函数。有了高阶函数,就可以将复用的粒度降低到函数级别,相对于面向对象语言,复用的粒度更低。
3.偏应用函数(Partially Applied Functions)
一个函数接收一个有多个参数的函数,返回一个需要较少参数的函数。偏函数将一到多个参数在内部固定,然后返回新函数,返回的函数接收剩余的参数完成函数的应用。
4. 柯里化(Currying)
输入一个有多个参数的函数, 返回一个只接收单个参数的函数。
5.闭包(Closure)
闭包就是有权访问另一个函数作用域中变量的函数。 闭包的三个特性:
-
闭包是定义在函数中的函数 。
-
闭包能访问包含函数的变量。
-
即使包含函数执行完了, 被闭包引用的变量也得不到释放。