js闭包

js闭包

  在正常的JavaScript执行中,内存无法立即回收的有两种情况:
  1、全局变量的引用
  2、闭包

  闭包是js的高级特性 ,闭包就是通过内部函数把外部函数中的变量暴露出去,一旦有变量引用了这个外部函数,这个外部函数将不会释放,同时这个外部函数中的变量也不会释放。

 

function outsideFun(){
     var count=0;
     function innerFun(){
        count++;
        console.log(count);
        return count;
    }
    return innerFun;
};

var quoteFun=outsideFun();
quoteFun();
quoteFun();

  打印结果:

     1

     2

总结:闭包— 函数不释放,函数中的变量不释放。
posted @ 2017-01-03 18:29  .追风逐月  阅读(138)  评论(0编辑  收藏  举报