zoukankan      html  css  js  c++  java
  • 闭包

                闭包

      当内部函数被保存到外部时,将会生成闭包。

      闭包会导致原有作用域链不释放,造成内存泄漏。

    闭包的作用:

      1.实现公有变量  例如:函数累加器 

     1         function add(){
     2             var count = 0;
     3             function demo(){
     4                 count++;
     5                 console.log(count);
     6             }
     7             return demo;
     8         }
     9         var counter = add();
    10         counter();
    11         counter();
    12         counter();

    运行结果:

      2.可以做缓存(存储结构)  

     1          function test(){
     2             var num =100;
     3             function a(){
     4                 num++;
     5                 console.log(num);
     6             }
     7             function b(){
     8                 num--;
     9                 console.log(num);
    10             }
    11             return [a,b];
    12             
    13         }
    14         var myArray = test();
    15         myArray[0]();
    16         myArray[1]();            

    运行结果:

      3.可以实现封装,属性私有化

  • 相关阅读:
    第十六周学习进度报告
    个人课程总结
    第一阶段意见评论
    用户评价
    第二阶段10
    第二阶段9
    第二阶段8
    第十五周学习进度报告
    第二阶段7
    第二阶段6
  • 原文地址:https://www.cnblogs.com/ChenMM/p/9596253.html
Copyright © 2011-2022 走看看