概念理解2:作用域 生命周期 闭包 装饰器

作用域

是指变量能被使用的范围。只有在作用域内,变量才可以被访问(也称为可见)。空间维度。

生命周期

是指变量能在内存中存在多久。时间维度。

闭包

只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成定义在一个函数内部的函数。
有权访问另一个函数作用域内变量的函数都是闭包。
闭包就是一个函数引用另外一个函数的变量,因为变量被引用着所以不会被回收,因此可以用来封装一个私有变量。这是优点也是缺点,不必要的闭包只会徒增内存消耗!另外使用闭包也要注意变量的值是否符合你的要求,因为他就像一个静态私有变量一样。

使用闭包实现的计数器

总结一下,创建一个闭包必须满足以下几点:

  1. 必须有一个内嵌函数

  2. 内嵌函数必须引用外部函数中的变量

  3. 外部函数的返回值必须是内嵌函数

装饰器

装饰器就是一种的闭包的应用,只不过其传递的是函数。

装饰器
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容