1、高阶函数
- 在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:
接受一个或多个函数作为输入
返回一个函数
2、闭包
- 将函数作为一个返回值的函数是高阶函数,我们也称为闭包
- 闭包的好处
1 通过闭包可以创建一些只要当前函数能访问的变量
2 可以将一些私有数据藏到闭包中 - 形成闭包的条件
1 函数嵌套
2 将内部函数作为返回值返回
3 内部函数必须使用到外部函数的变量
3、装饰器的引入
- 我们可以通过修改函数中的代码来完成新需求,但是会产生一些问题:
1 如果修改函数过多,修改过程比较麻烦,会造成很大的工作量
2 不方便后期的代码维护
3 会违反开闭原则(Open Closed Principle,简称OCP);程序的设计,对于扩展是开放的,对于修改是关闭的
4、装饰器的使用
- 通过装饰器,可以在不修改函数的基础上对函数进行扩展
- 在开发中,我们都是通过装饰器来对函数进行扩展的