js闭包

一、什么是闭包

    // (1) 函数内部的子函数
    // (2) 通过return把子函数暴露在全局作用域,所以当父函数执行完毕时,子函数并没有被销毁,依然驻留在内存中
    // (3) 子函数引用的父函数的局部变量也不会被销毁,可以通过在外部调用子函数来访问局部变量

二、简单的闭包实例:

        var a;
        function aaa() {
            var a = 1;
            return function () {
                alert(a++);
            };
        }
        a = 8;
        var fun = aaa();
        fun();
        fun();
        fun = null;

三、闭包的优点:

(1) 避免全局变量的污染   
(2) 局部变量会驻留在内存中,可以通过在外部调用子函数来访问局部变量 

四、缺点:

使用不当会造成内存泄露
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容