什么是闭包

闭包

闭包是指两个嵌套函数 内部函数访问外部函数定义的变量

闭包的优点

  1. 实现数据私有化 (形成私有空间 避免全局变量的污染)
  2. 实现内存持久化 保存数据(延长变量的使用时间)

闭包的缺点内存持久化会造成内存泄漏 

解决方法:

  1. 尽量避免函数的嵌套 以及变量的引用  
  2. 将执行完的变量赋值为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

 

posted @ 2022-11-24 23:10  噢噢噢J  阅读(50)  评论(0编辑  收藏  举报