闭包
闭包是指两个嵌套函数 内部函数访问外部函数定义的变量
闭包的优点:
- 实现数据私有化 (形成私有空间 避免全局变量的污染)
- 实现内存持久化 保存数据(延长变量的使用时间)
闭包的缺点:内存持久化会造成内存泄漏
解决方法:
- 尽量避免函数的嵌套 以及变量的引用
- 将执行完的变量赋值为null 让垃圾回收机制进行自动回收 释放内存
*/
// function fn() {
// let age = 17;
// function fun() {
// console.log(age);
// return age; //return 出来的返回值给到调用者
// }
// return fun;
// }
// // console.log(fn());
// const res = fn();
// console.log(res); //返回的是函数体fun
// res(); //调用返回出来的函数体
// console.log(res()); //返回的是fun return 出来的age