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

  • 相关阅读:
    vba create rectangle 矩形
    (zz)nnotation学习笔记2:关于Annotation与符号,还是要读arcmap帮助!!!
    backgroundworker
    C# , mongodb ,study
    工作中常用的dos命令 数据处理经验总结
    你需要明白的SQL SERVER书签查找(Bookmark Lookup)
    使用CalendarExtender
    js控制5秒后页面自动跳转
    HTML按秒数的页面跳转
    序列化与反序列化读取保存xml文件
  • 原文地址:https://www.cnblogs.com/bokeyanghao/p/10133574.html
Copyright © 2011-2022 走看看