前提了解: 闭包(closure)简单理解就是一个作用域可以访问另外一个函数内部的局部变量。
第一种情况:
function fn(){
let num = 10;
function fun(){
注:fun函数作用域 可以访问另外 fn函数局部变量(num)就产生了闭包
console.log(num)
}
fun()
}
fn()
第二种情况: 如图代码:
- 也可以12f 打开Sources 查看闭包 如下图:
案例: 闭包今典面试题
- 需求: 点击li输出索引号,利用闭包形式实现 如下:
- 总结:
- ()闭包的作用:延申了变量的作用范围
- ()缺点:内存不泄漏。优点:延申了变量的作用范围 。
- ()立即执行函数被称为小闭包,能让另一个作用域函数访问其局部变量。