黑马程序员技术交流社区

标题: 浅谈闭包、装饰器 [打印本页]

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2