闭包的概念:
函数的闭包形成闭包;封闭的区域(可以调用其他作用域变量的函数);
闭包的组成:内层函数本身;内层函数所处的作用域;
闭包作用:
1. 形成隔离的封闭空间;
1 | //函数里面的num不会影响外面num的值; |
2. 延长变量的声明周期;
3. 匿名自制行环境–沙箱
- 插件常用的内部变量外放的操作,将window和document作为实参放入沙箱之内,防止内部变量对于外部的影响
- 减少作用域链;
1 | (function(window, doc){ |
4. 缓存变量
1 | var arr = []; |
5.实现类和继承
1 | function Person(){ |
6.大量封装函数
1 | var person = function(){ |
7.案例
1 | var arr=[]; |
1 | //生成随机数 |