闭包的形成:
由大函数嵌套小函数,小函数使用大函数中的变量,在大函数外跟小函数保持引用关系,形成了执行空间不销毁的场景
闭包的优点:
1.保护了变量的私有性(不受全局污染了/不污染全局)
2.延长了变量的生命周期
3.间接的让全局可以操作局部变量了
闭包的缺点:
每次调用大函数都会形成一个不销毁的执行空间,滥用闭包容易造成内存溢出
闭包的使用场景:
1.在循环中绑定事件或执行异步代码
2.防抖和节流的封装
3.函数柯里化
4.沙箱模式(语法糖是getter和setter)