zoukankan      html  css  js  c++  java
  • 闭包

    闭包:就是可以读取到其他函数内部的变量的函数。

    (有权访问另一个函数作用域中的变量的含数)(就是拿到本该不属于他的东西);

    闭包其实就是携带状态的函数,并且它的状态可以完全对外隐藏。

    自己理解:程序的代码段允许存在一级函数并且一级函数不能被释放,一级函数没有释放之前,外部可以使用一级函数的局部变量。
    进一步理解 : 闭包就是外部可以使用局部变量。

    作用:

      闭包可以用在许多地方,他的最大用处有两个:

      1.可以读取函数内部的变量;

      2.让这些变量的值始终保存在内存中;

    闭包的功能:

      1、外部可以使用局部变量。
      2、使函数不能释放。

    缺点:

      1.外部会修改局部变量

      2.会大量占用内存

      3.内存不会被释放

    闭包有个需要注意的问题:

    由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。

    小练习:

        闭包返回局部变量以及使用局部变量实现数值的累加

    function create_c(){
              var x=0;
              return function(){
                 x++;
                  alert(x);
              }
    }
        var c1=create_c();
            c1();      //1
            c1();     //2
  • 相关阅读:
    BGP综合部署
    网络综合部署
    部署LNMP架构
    编译安装Nginx网站服务及优化
    Apache网页优化
    在windows上安装jupyter,配置单机版pyspark
    剑指offer54-字符流中第一个不重复的字符
    在centos001上安装jupyter,配置单机版pyspark
    剑指offer53-表示数值的字符串
    剑指offer50-数组中重复的数字
  • 原文地址:https://www.cnblogs.com/zy17600095897/p/7077823.html
Copyright © 2011-2022 走看看