闭包作用域链2

function a(){
            var num = 100;
            console.log(num);
            function b(){
                num++;
                console.log(num);
            }
            return b;
        }
var demo = a();//100 a断开对aAO、GO的指向
demo();//101 b没有断开对aAO、GO的指向
a();//100  a重新创建[[scope]]对象 重新创建aAO、GO 
demo();//102 b还没有断开以前的aAO、GO的指向
a();//100   a重新创建[[scope]]对象 重新创建aAO、GO
demo = a();//100 a重新创建[[scope]]对象 重新创建aAo、GO 并断开以前demo对aAO、GO的引用
demo();//101 重新开始
demo();//102
原文地址:https://www.cnblogs.com/jokes/p/9198234.html