闭包

闭包实现累加

function A() {
  let start = 0;

  function B() {
    return ++start;
  }

  return B;
}

const inc = A();

console.log(inc());
console.log(inc());
console.log(inc());

如何优化闭包

function outerFun(outerArg) {
  return function () {
    console.log('这里是内部匿名函数');
    console.log('可以访问包含函数的变量', outerArg);
  };
}

// 创建一个函数,是 outerFun 中返回的匿名函数
var create = outerFun('hi');

// 释放对匿名函数的引用
create = null;