zoukankan      html  css  js  c++  java
  • 闭包

    闭包是什么
      闭包就是js作用域嵌套所形成的产物

    为什么要使用闭包(闭包的特点
      1.变量声明在函数内部,这个变量不会被函数外部污染,让数据更安全
      2.里面的小空间不销毁,延长了变量的生命周期,但也容易造成内存溢出
    1 function fn(){
    2         var num = 100; //因为全局中的变量容易被覆盖,被攻击,所以使用局部变量.
    3         return num;
    4     }
    5     var num = fn();
    6     num +=10;
    7     console.log(num); //得到110,但是改变的只是全局变量中的num,函数中的局部变量num仍然是100。
    8     //想要在全局改变局部变量,需要使用闭包

    怎样形成闭包

     1 // 闭包的形成,就是在一个函数中返回一个子函数,在子函数中使用父函数的变量,在全局中调用子函数
     2 function fn(){
     3     var num = 1; //在父函数中定义变量
     4     return function(){
     5         console.log(++num)
     6     }       
     7 }
     8 var f = fn();
     9 f(); //得到num = 2
    10 f(); //得到num = 3
    11 f(); //得到num = 4
    12 //之所以能改变fn()函数内的a是因为函数是复杂类型,赋值给的是地址
     
  • 相关阅读:
    dubbo springcloud区别
    rpc
    centos7 安装docker
    vibox安装
    知识点
    spring cloud
    微服务设计原则
    工具类
    xss--知识点
    java基础--注解
  • 原文地址:https://www.cnblogs.com/lry2577/p/12594123.html
Copyright © 2011-2022 走看看