js 闭包

js闭包特色:闭包

  1. 函数套函数函数

  2. 内函数调用外函数spa

闭包因为内部函数对外部变量有引用,因此函数不会销毁,而是在内存中,下次程序找的时候,先找内存.ip

下面拿一例子作详解:内存

<script>作用域

function A() {io

       var i = 10;function

       var B = function () {class

        i++;变量

       alert(i);

    }

     return B;

}

var aa = A();

aa();

aa();

此处的运行结果为11,12

</script>

第一次此处的aa()至关于执行

function () {
        i++;
        alert(i);
    }

本身的做用域没有这个变量,所以往上找,找到10因此弹出11,第二次的时候一样找,但因为内部函数调用外部的这个变量i,因此变量i一直在内存中,因此第二次调用从内存中找i的值11,因此再弹出来就是12。

相关文章
相关标签/搜索