1.什么是闭包

  闭包的概念在一些文献中表达的比较难懂,我的理解就是 ==>闭包就是能读取其他函数里变量的函数

 

2.闭包的基本结构

      

 function demo() {
        var one = 10;

        function demo1() {
            console.log(one);
        }
    }

 

     在这段代码里,如果想在函数外面得到变量,还是不行的,怎么办呢,demo1可以得到上面的变量值,那么我们就把demo1当做函数的返回值

        请看代码

    function demo() {
        var one = 10;
        console.log('woshi')

        function demo1() {
            console.log(one);
        }
        return demo1;
    }

    var res = demo();
    demo();
    //调用demo执行打印woshi
    console.log(res);
    res();//10

 

3.闭包的使用注意

由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。

 

版权声明:本文为-yu-ze-原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/-yu-ze-/p/8511551.html