闭包

 function add () {
        var c = 0;
          return function () {return c += 1;}
      };
      var num= add();    //function () {return c += 1;}
      num();  //1
      num();  //2
      num();  //3

闭包是可访问上一层函数作用域里变量的函数,即便上一层函数已经关闭。

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();
 
add(); //1
add(); //2
add(); //3

add先自调一次

posted @ 2018-05-21 14:02  心随风飞lss  阅读(103)  评论(0编辑  收藏  举报