A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 7-UP 黑马粉丝团   /  2018-6-12 11:51  /  1194 人查看  /  3 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是闭包?
在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包。看一个闭包的实际例子:
  
这个例子中,函数line与变量a,b构成闭包。在创建闭包的时候,我们通过line_conf的参数a,b说明了这两个变量的取值,这样,我们就确定了函数的最终形式(y = x + 1和y = 4x + 5)。我们只需要变换参数a,b,就可以获得不同的直线表达函数。由此,我们可以看到,闭包也具有提高代码可复用性的作用。
注意点:由于闭包引用了外部函数的局部变量,则外部函数的局部变量没有及时释放,消耗内存。
什么是装饰器?
装饰器可以在不改变函数原有功能的基础上添加额外的功能,例如:引入日志、函数执行时间统计、执行函数前预备处理、执行函数后清理功能、权限校验等场景、缓存。
,结果:
多个装饰器装饰一个函数的流程?
离函数近的的先装饰,先装饰的装饰器后执行。
   ,结果:
装饰器是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼。

3 个回复

倒序浏览
沙发...装饰器器使感觉最使用的地方就使添加验证.....
回复 使用道具 举报
关于这个闭包问题,谁有不懂的请QQ本人
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马