闭包:

闭包

什么是闭包 

函数嵌套函数,内部函数可以引用外部函数的参数和变量,参数和变量不会被垃圾回收机制收回

function aaa(a){     

      var b = 5;     

      function bbb(){

          a++;

          b++;

        alert(a);

        alert(b);

      }

      return bbb;

  }

var ccc = aaa(2);

ccc();

ccc();

改写成封闭函数的形式:

var ccc = (function(a){

  var b = 5;

  function bbb(){

      a++;

      b++;

    alert(a);

    alert(b);

  }

  return bbb;

})(2);

ccc();

ccc();

用处 

1、将一个变量长期驻扎在内存当中,可用于循环中存索引值

......

       

  • 111
  •    

  • 222
  •    

  • 333
  •    

  • 444
  •    

  • 555

2、私有变量计数器,外部无法访问,避免全局变量的污染

你可能感兴趣的:(闭包:)