简介
闭包的形成
有大函数嵌套小函数,小函数使用大函数中的变量,大函数外跟小函数保持引用关系
闭包的特点
- 变量私有话(放在局部不受全局污染)
- 延长了变量的声明周期
间接的让全局可以访问局部变量
闭包的弊端
每调用一次大函数,就会在内存中形成一个不销毁的执行空间,滥用闭包容易造成内存泄漏
闭包的使用场景
- 封装防抖节流
- 在循环中绑定事件或者循环中执行异步代码的时候
函数柯里化
示例:function fn(){ let a = 1 // a 是一个被 fn 创建的局部变量 function bar(){ // bar 是一个内部函数,就是一个闭包 console.log(a); // 使用大函数声明的变量 } return bar() } fn() // 1
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。