闭包
概念1:闭包是指有权访问另一个函数作用域中的变量的函数。
概念2:闭包是函数和声明该函数的词法环境的组合
函数:inner函数
声明该函数:outer
词法环境:作用域链
组合:是一个整体

闭包的形成条件:
1.有两个嵌套关系的函数,内部函数可以访问外部函数的变量,内部的函数return出去
闭包的作用:
1.保护数据安全
2.数据持久化
举例:统计一个函数被调用的次数 
由于全局变量count可以在任何地方访问和修改,导致了统计次数的错误,这个数据是不安全的
使用闭包:
上面的代码使用了闭包,闭包把count数据保护起来了,
而且持久化了count的值(因为闭包占用的内存是不会被释放的)。
变量的生命周期:
全局作用域:在页面关闭的时候或者是浏览器退出时,全局作用域才会销毁。
函数作用域:当函数执行结束时,这个函数作用域就会被销毁。
浙公网安备 33010602011771号