美文网首页
闭包函数

闭包函数

作者: lucky_yao | 来源:发表于2020-10-09 08:25 被阅读0次

1:

闭包就是能够读取其他函数内部变量的函数。

这种写法就可以获取到函数内部的局部变量,b函数就是闭包

function a(){

var n=9;

function b(){

alert(n)

}

return b;

}

var num=a();

num();

2:闭包的用途

闭包可以用在许多地方。

它的最大用处有两个,一个是前面提到的可以读取函数内部的 变量,

另一个就是让这些变量的值始终保持在内存中。

3:闭包的缺点:

使用闭包的注意点 由于闭包会使得函数中的变量都被保存在内存中,

内存消耗很大,所以不能滥用闭包,

否则会造成网页的性能问题,

在 IE 中可能导致内存泄露。

解决方法是,在退出函数之前,

将不使用的局部变量全部删除。

闭包会在父函数外部,改变父函数内部变量的值。

所以,如 果你把父函数当作对象(object)使用,

把闭包当作它的公用方法(Public Method),

把 内部变量当作它的私有属性(private value),

这时一定要小心,不要随便改变父函数内 部变量的值。
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    </body>
    <script type="text/javascript">
        //      1:闭包函数
        //      2:闭包函数的作用
        //      2.1想获取函数中的局部变量,那么久要用到闭包函数
        //      2.2另一个就是让这些变量的值始终保持在内存中
        //获取局部变量的案例
        //      function a(){
        //          var n=9;
        //          function b(){
        //              return n;
        //          }
        //          return b();
        //      }
        //      var c=a();
        //      alert(c)
        //变量始终保存中内存中
        // function fun(){
        //  var n=9;
        //  a=function(){
        //      n+=1;
        //  }
        //  function f2(){
        //      alert(n);
        //  }
        //  return f2;
        // }
        // var sum=fun();
        // sum();//9
        // a();
        // sum();//10
        // a();
        // sum();//11
        // a();
        // sum();//12



        //      function fun(){
        //          var n=9;
        //          a=function(){
        //              n+=1;//n=n+1;
        //          }
        //          function f2(){
        //              alert(n);//9 10
        //          }
        //          return f2;
        //      }
        //      var sum=fun();
        //      sum();
        //      sum();
        //      sum();
        //      sum();

        ////1:第一种形式
        //      function fun(){
        //          var n=9;
        //          function sum(){
        //              alert(n)
        //          }
        //          return sum;
        //      }
        //      var c=fun();
        //      c();


        //2:第2种形式
        //      function fun(){
        //          var n=119;
        //          function sum(){
        //              function dd(){
        //                  alert(n)
        //              }
        //              return dd;
        //          }
        //          return sum;
        //      }
        //      fun()()();
        
        function a(){
            var b=2;
            function c(){
                alert(b);
            }
            return c;
        }
        a()
        
        </script>
</html>

相关文章

  • 如何理解闭包?

    1、定义: 嵌套在函数作用域中的函数,称为闭包函数。该作用域称为闭包环境。通过闭包函数可以访问闭包函数所在函数作用...

  • 关于逃逸闭包

    逃逸闭包:当函数执行结束后,才去调用函数内部的闭包,叫做逃逸闭包非逃逸闭包当函数执行过程中,执行的函数内部的闭包,...

  • 3.逃逸闭包,非逃逸闭包

    逃逸闭包:当函数执行结束后,才去调用函数内部的闭包,叫做逃逸闭包非逃逸闭包:当函数执行过程中,执行的函数内部的闭包...

  • (9) python之闭包

    闭包闭包 = 函数 + 环境变量(函数定义的时候) 一个最简单的闭包 闭包不受外部变量影响 非闭包 闭包 闭包 只...

  • day14-函数(3)装饰器

    一、闭包函数 闭包函数=函数嵌套定义+函数对象+名称空间与作用域 闭包函数 1、闭:指的是该函数是定义在一个函数内...

  • 面试题(day-2)

    1 ,什么是闭包?闭包有什么好处?使用闭包要注意什么? 闭包:函数嵌套函数,内部函数可以引用外部函数的参数和变量,...

  • JS的闭包

    1.闭包的概念 闭包函数:声明在一个函数中的函数,叫做闭包函数。闭包:内部函数总是可以访问其所在的外部函数中声明的...

  • python函数之闭包

    目录 python函数之闭包什么是闭包python中的namespace闭包的条件闭包的优点 python函数之闭...

  • 2018-07-10swift4与swift 3.3 语法重拾(

    函数与闭包 闭包

  • 闭包和立即执行函数

    闭包闭包:内部的函数引用了外部的函数的变量,则产生闭包。闭包的作用:把变量封装在函数中,只有内部函数可以用,让函数...

网友评论

      本文标题:闭包函数

      本文链接:https://www.haomeiwen.com/subject/dqjryktx.html