• 闭包


    什么是闭包?

      1、密闭的容器,类似于set,map容器,存储数据的

      2、闭包是一个对象,存放数据的格式,key:value

    形成的条件:

      1、函数嵌套

      2、内部函数引用外部函数的局部变量

    闭包的优点:

      延长外部函数局部变量的生命周期

    闭包的缺点:

      容易造成内存泄漏,老是不销毁

    注意点:

      1、合理使用闭包

      2、用完闭包要及时清除(销毁)

    案例一:请结合断点调试

     1 function fun(){
     2     var count = 1;
     3     return function(){
     4         count++;
     5         console.log(count);
     6     }
     7 }
     8 var fun2 = fun();
     9 fun2(); //2
    10 fun2(); //3

    案例二:请结合断点调试

     1 function fun(n,o){
     2     console.log(o);
     3     return {
     4         fun:function(m){
     5             return fun(m,n)
     6         }
     7     }
     8 }
     9 var a = fun(0); //闭包发生在a上,闭包对象存储在a上,a上的n是没变的
    10 a.fun(1); //0
    11 a.fun(2); //0
    12 a.fun(3); //0
    13 
    14 var b = fun(0).fun(1).fun(2).fun(3).fun(4); //undefined,0,1,2,3,4,;闭包发生在每一个新的对象上
    15 
    16 var c = fun(0).fun(1);  //闭包发生在c上,
    17 c.fun(2); //1
    18 c.fun(3); //1
    奔跑的蜗牛
  • 相关阅读:
    Model1简介
    修改Maven的本地仓库地址
    JavaWeb实现上传文件
    数据库
    集合
    JavaWeb
    Java基础
    Redis 中 redis.conf配置详细解析
    利用Java生成二维码
    利用dom4j读写XML
  • 原文地址:https://www.cnblogs.com/xiaoyue-/p/10656065.html
Copyright © 2020-2023  润新知