闭包

闭包

解释:

(1)闭包和gc是相关联的

(2)闭包实际上是涉及一个对象的属性何时被GC处理的问题

(3)怎样才能对对象的属性形成一个闭包;

(4)

//闭包closure

    function A(){
        var i=0;
        function b(){
            window.alert(i++);
        }
        return b;
    }
    //闭包<-->gc
    A();//此时    内存中 i空间被gc处理(至于什么时候处理不知道)
    var c=A();//这种用法,gc不会把i当做垃圾
    //c();
    window.alert("aa");
    c();//输出0
    c();//1,从而证明i变量被闭包

在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。

 

posted @ 2018-10-10 17:14  寒潭渡鹤影  阅读(89)  评论(0编辑  收藏  举报