# 03-函数式编程

# 编程范式

  • 面向过程编程
  • 面向对象编程
  • 函数式编程

# 函数式编程

把功能分解为一系列独立的函数,通过函数间相互调用来完成功能。

# 特点

  • 函数是第一等公民
    指函数跟其它的数据类型一样处于平等地位,可以赋值给其他变量,可以作为参数传入另一个函数,也可以作为别的函数的返回值。
  • 函数是纯函数
    指相同的输入总会得到相同的输出,并且不会产生副作用的函数。无副作用 指的是函数内部的操作不会对外部产生影响(如修改全局变量的值、修改 dom 节点等)。

# 为什么用函数式编程

  • 提高复用性和可扩展性
  • 利于Tree-shaking