js 闭包

实例:

  function a(){
    var n = 0;
    this.fun = function () {
      n++;
      console.log(n);
    };
  }
  var c = new a();
  c.fun(); //1
  c.fun(); //2
注:闭包就是能够读取其他函数内部变量的函数。在js中只有函数内部的子函数才能读取局部变量。所以可以简单的理解为:定义在内部函数的函数。
用途主要有两个:
(1)前面提到的,读取函数内部的变量
(2)让变量值始终保持在内存中

原文地址:https://www.cnblogs.com/smj1990/p/9143995.html