作用域,闭包

牧云@^-^@ 提交于 2021-02-18 01:26:57

今天琢磨了一天的作用域和闭包这两个概念,虽然理解的很浅,但还是想分享出来,希望看到的大神们能多多指正。

作用域包含了全局作用域和局部作用域,闭包也算作用域的一种;

闭包的概念:

    1.函数嵌套函数;

    2.子函数能引用父函数的局部变量和参数;

    3.  变量和参数不会被垃圾回收机制回收;(注:如果是两个函数相互调用,第三个函数不参与,是会被垃圾回收机制回收,像闭包这种两个函数相互调用,且会被外部函数调用的,不会被垃圾回收机制回收);

<script>
    function aaa(){    //父函数
    
        var a=12;
        
        function bbb(){   //子函数
        
            alert(a);
        }
        return bbb;  
    }
    var c=aaa();
    c();
</script>

 这个简单而典型的闭包:子函数引用了父函数的局部变量;var c其实就指向bbb()函数,最后在外部调用;



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!