闭包的讲解及点赞的案例

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

  2.变量的销毁:

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

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

    2的案例:

      function fn(){

        var  a=9

        a++

        console.log(a)

      }

      fn()

扫描二维码关注公众号,回复: 4544832 查看本文章

      fn()

      fn()

  3.闭包的优势:

    1.保护变量;

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

  4.闭包的种类;

    1.函数式闭包;

    案例:

      function fn(){

        var a=9;

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

猜你喜欢

转载自www.cnblogs.com/shangjun6/p/10133120.html