闭包和装饰器
常用单词
- closure 英 ['kləʊʒə] 闭包, 使终止
- login 英 ['lɒɡɪn] 登录;
- decorator 英 ['dekəreɪtə] 装饰器 ,装饰者;
- register 英 ['redʒɪstə] 登记;注册
- wrapped 英 [ræpt] 包裹;
- allable 英 ['kɔːləb(ə)l] 可被调用的
闭包
1. 闭包的介绍
我们知道当函数调用完,函数内定义的变量都销毁了,但是我们有时候需要保存函数内的这个变量,每次在这个变量的基础上完成一些列的操作,比如: 每次在这个变量的基础上和其它数字进行求和计算,那怎么办呢?
可以通过闭包来解决这个需求。
闭包的定义:
在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数称为闭包。
2. 闭包的构成条件
通过闭包的定义,我们可以得知闭包的形成条件:
- 在函数嵌套(函数里面再定义函数)的前提下
- 内部函数使用了外部函数的变量(还包括外部函数的参数)
- 外部函数返回了内部函数