什么是闭包闭包的用途闭包的缺点: 什么是闭包定义:如果一个函数用到了外部的变量,那么这个函数加这个外部的变量就叫做闭包示例: let a = 1function f1(){ console.log(a)}f1() // 1 const createAdd = ()=>{ let n = 0 return ()=>{ n += 1 console.log(n) }}const add = createAdd()add() // 1add() // 2 上面代码中,函数f1里面并没有定义a,但是结果打印出了1 也就是说函数f1用到了外面的变量a,那么这个函数加这个函数外部变量就叫做闭包 闭包的用途1.延长变量的生命周期2.函数作用域,保护里面的变量不受外界干扰3.函数可以调用外面的变量 闭包的缺点:常驻内存,增加内存使用量(所以不能滥用闭包,否则会造成网页的性能问题),在IE中可能导致内存泄露(这是IE的bug)解决方法:在退出函数之前,将不使用的局部变量全部删除。