什么是闭包

23 阅读1分钟

什么是闭包

就是内层函数访问外层函数的作用域 闭包的原理就是利用作用域链的特性,首先在当前作用域访问数据,当前作用域访问不到,则向父级访问,父级也没有,一直找到全局。

作用

  • 变量私有化 ,防止数据被污染 ;
  • 不会被垃圾回收;
  • 外部函数可以访问函数内部的变量

存在问题是:内存泄漏问题: 就是不在用到的内存,没有及时被释放

解决::闭包用完 赋值为null

使用场景

-   循环里面的异步代码打印索引值会有bug,用闭包可以解决(不用说)

-   防抖和节流

-   柯里化

    -   柯里化是用来把一个函数从多参函数转换成单参函数,好处就是可以实现参数复用