闭包

72 阅读1分钟

闭包的含义

闭包就是函数嵌套函数,生成一个不会被销毁的执行空间,延长局部作用域变量的生命周期,在函数外部可以操作函数内部的局部作用域变量

闭包的作用

  1. 闭包的作用是为了防止全局变量的污染
  2. 是为了形成独立的作用域,延长变量的生命周期

闭包的优点

  1. 防止全局变量污染
  2. 延长变量的生命周期
  3. 创建不会被销毁的执行空间

闭包的缺点

  1. 变量的调用不方便
  2. 容易造成内存泄漏
  3. 占用内存,降低执行效率

函数的执行原理

函数的封装过程

  1. 在堆中开辟一个独立存储空间 准备存储 应用数据类型 操作系统给这个存储空间 分配一个 内存地址
  2. 在存储空间 中 以字符串的形式 存储 函数程序代码
  3. 在 栈 中存储函数名称 函数名称中存储 函数存储空间的内存地址 函数的调用过程
  4. 解析 栈 中 变量名称中存储的内存地址,找到 堆 中 对应的存储空间 读取空间中存储的函数程序
  5. 形参赋值实参
  6. 预解析/预解释/预编译
  7. 执行函数程序