• 闭包


    闭包:

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

      变量的销毁:

        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()

  • 相关阅读:
    静态数组和动态数组
    C#实现两个时间相减的方法
    360安全卫士为什么无法登录用户,显示网络失败,请检查网络,可是网络连接正常。
    WPS Word查询某些内容的出现次数
    安装安全狗后,MP4无法播放
    图片上传Security Error
    JS 构造图片Image对象
    c#截取图片
    VS2013快捷键
    WPS之替换样式
  • 原文地址:https://www.cnblogs.com/bokeyanghao/p/10133574.html
Copyright © 2020-2023  润新知