什么是闭包呢?

147 阅读1分钟

前提了解: 闭包(closure)简单理解就是一个作用域可以访问另外一个函数内部的局部变量。

第一种情况:


function fn(){ 
  let num = 10;
  
  function fun(){
  注:fun函数作用域 可以访问另外 fn函数局部变量(num)就产生了闭包
    console.log(num)
  }
fun()
}
fn()

第二种情况: 如图代码:

Snipaste_2021-06-26_00-20-43.png

  • 也可以12f 打开Sources 查看闭包 如下图:

Snipaste_2021-06-26_00-10-25.png

案例: 闭包今典面试题

  • 需求: 点击li输出索引号,利用闭包形式实现 如下:

Snipaste_2021-06-26_01-19-49.png

Snipaste_2021-06-26_01-14-26.png

  • 总结:
  • ()闭包的作用:延申了变量的作用范围
  • ()缺点:内存不泄漏。优点:延申了变量的作用范围 。
  • ()立即执行函数被称为小闭包,能让另一个作用域函数访问其局部变量。