zoukankan      html  css  js  c++  java
  • 闭包

    闭包:

      函数在调用的时候会形成一个私有的作用域,对内部的变量起到保护的作用,这就是闭包

      变量的销毁:

        1.人为销毁  var a=12;  a=null;

        2.自然销毁  函数调用完成后,浏览器会自动销毁函数内的变量;

          案例:

            function fn(){

              var  a=5

              a++

              console.log(a)

            }

            fn()

            fn()

            fn()

      3.闭包的优势:

        1.保护变量;

        2.缓存数据 (这是他的优势,也是他的劣势,函数调用完后会被销毁,我们不能使用这个变量,闭包可以不让他被销毁,但也会影响浏览器的性能)

      4.闭包的种类;

        1.函数式闭包;

        案例:

          function fn(){

            var a=5;

            function ff(){

              a++

              console.log(a)

            }

            ff()

          }

          fn()

          fn()

          fn()

        2.对象式闭包

          function fn(){

            a=45

            var obj={

              num:a

            }

            console.log(obj.num)

      5.函数返回值的问题:

        每个函数都有一个返回值,如人为返回,return的什么就是什么,如果没有就是undefined,

      6.闭包怎样缓存数据;

        function fn(){

          var a=23

          return function(){

            a++

            console.log(a)

          }

        }

        fn()

        fn()

        fn()

  • 相关阅读:
    编程语言扮演的3个角色,它连接了机器、开发者以及团队!
    20行代码爬取王者荣耀全英雄皮肤!让你享受白嫖的快乐!
    3分钟教会你如何发布Qt程序!高级编程界面开发也是如此的简单!
    C 语言实现一个简单的 web 服务器!了解 Socket 通讯工作原理!
    log4j
    解决MySQL 一闪而过的情况
    subversion和客户端的应用
    Map集合
    代码块执行顺序。
    ArrayList-VS-LinkedList
  • 原文地址:https://www.cnblogs.com/gdqx/p/10133254.html
Copyright © 2011-2022 走看看