闭包的理解

什么是闭包

  • 简单就是“定义并返回”在一个“在函数内部的函数”(函数嵌套)---她可以使用外部函数的变量。这就形成了一个闭包

闭包的原理:

  • 就是函数a内部创建的函数b,可以访问a中的变量,当执行a,输出b的时候,b完整的保留了a中变量的作用域(是保留了a中所有变量的作用域还是仅仅保留了b中引用的变量,这一点不太确定--不过我更倾向于后者),使让变量长期保存在内存中,不会随着函数的结束而自动销毁,直到访问变量的那个函数销毁

闭包的特点

  • 可以让我们在函数外部访问到函数内部的变量,使私有变量“全局化”
  • 让变量长期保存在内存中,不会随着函数的结束而自动销毁,直到访问变量的那个函数销毁
  • 创建私有命名空间,避免污染全局变量

闭包的应用

  • 定时器
  • 计数器
  • 回调函数--递归和迭代等

闭包的缺点

缺点:内存浪费,常驻内存及其使用不当的无效内存增大内存使用量,导致内存泄漏。

 

posted @ 2022-05-15 21:17  大哥成  阅读(30)  评论(0编辑  收藏  举报