闭包

所谓闭包,就是用一个函数去访问另一个函数的内部变量。

  function outFun() {
    let num = '10';
  }

  console.log(num); 
  //num is not defined
  //无法访问到函数内的局部变量

使用闭包方法函数里的局部变量

  function outFun() {
    let num = '10';

   //在函数内部再定义一个函数就能访问到内部变量
    function inFun() {
      console.log(num);
    }

    return inFun;
  }
  
  let outFun = outFun();
  outFun();

  // 释放出内存
  outFun = null
  • 优点:不产生全局变量,属性全部私有化。
  • 缺点:闭包中数据常驻内存,不用需要删掉,否则容易内存溢出。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容