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

  • 相关阅读:
    2019年3月6日 980. Unique Paths III
    2019年3月05日 961. N-Repeated Element in Size 2N Array
    2019年3月4日 701. Insert into a Binary Search Tree
    2019年3月1日 804. Unique Morse Code Words
    2019年2月28日 654. Maximum Binary Tree
    2019年2月26日 Unique Email Addresses、To Lower Case、Encode and Decode TinyURL
    Nexus Repository Manager 3 远程命令执行漏洞(CVE-2020-10199)复现
    常见的Web源码泄漏漏洞及其利用
    Nmap-脚本检测CVE漏洞
    Vulnhub-dpwwn-01靶机过关记录
  • 原文地址:https://www.cnblogs.com/gdqx/p/10133254.html
Copyright © 2011-2022 走看看