JavaScript系列---【作用域链】

作用域链

首先作用域链是一种查找机制,在当前作用域下用到某个变量或方法,先看当前作用域下有没有,没有往上一级作用域进行查找,上一级作用域没有再往上一层作用域进行查找依次类推,直到找到全局作用域为止;找不到就就报错了

代码如下:

 var a = 100;
        var b = 200;
        var c = 300;

        function test1(num1) {
            var a = 10;
            var b = 20;

            a++;
            b++;
            c++;
            num1++;
            console.log(a, b, c, num1);

            function test2() {
                var c = 30;
                a++;
                b++;
                c++
                console.log(a, b, c);
            }

            test2();
        }


        test1(5);
        console.log(a, b, c);

代码预解析流程图:

原文地址:https://www.cnblogs.com/chenhaiyun/p/14540539.html