1.语法理解
2.使用场景
3.缺陷
4.解决方案
闭包就是 具有作用域的代码块,能访问外层作用域变量值的一种设计. 因次所有函数都是闭包.
外部可以直接修改输出值,这种设计不满足实际情况
使用场景1
由于: 函数内部可以访问函数外部变量 但是不能访问内部变量: 保护数据
如果一个函数内部的变量 外部想访问,又不能直接访问: 这个函数可以返回一个内部的函数 然后这个内部的函数来操作这个函数内部的变量
这个设计不合理 因为外部直接修改了函数内部的数据
使用场景2
利用了函数调用栈的独立作用域,来实现临时: 保存数据
3.防止变量污染 生成闭包块