大闭包

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    function a(){
        var num = 10;
        function b(){
            console.log(num++);
        }
        return b;  // 返回的是b
    }
    var c = a();  // c 里面放的是 b函数
    c(); //10
    c(); //11
    //a 函数的一个 内部变量  被 a 函数外的c函数所使用,是通过b函数来实现的,所以b函数就是创建了一个闭包

function aa(){
        var re = 20;
        return function(){
            console.log(re);
        }
    }
    var cc = aa();
    cc();
    function outerFun()
    {
        var a=0;
        function innerFun()
        {
            a++;
            alert(a);
        }
        return innerFun;  //注意这里
    }

 var obj=outerFun();
    obj();  obj();
    var obj2=outerFun();
    obj2();  obj2();

</script>
</body>
</html>

 

posted @ 2015-08-06 23:28  花神华安  阅读(124)  评论(0编辑  收藏  举报