作用域链

作者: 有点孤僻 | 来源:发表于2018-05-29 02:06 被阅读0次

    JavaScript中所有的变量都是存在于某一个作用域中的

    除了全局作用域, 每一个作用域都是存在于某个作用域中的

    在试图访问一个变量时JS引擎会从当前作用域开始向上查找直到Global全局作用域停止

    例如

    var a;           //全局作用域

    function b(){    

             var c;        //c位于b函数的作用域   

             function d()    {       

                     var e;   //e位于d函数的作用域       

                     alert(a)  

               }

    }

    当alert(a)时, JS引擎沿着d的作用域, a的作用域, 全局作用域的顺序进行查找.

    这三个作用域组成的有序集合就成为作用域链


    函数在执行的过程中,先从自己内部找变量

    如果找不到,再从创建当前函数所在的作用域去找, 以此往上

    注意找的是变量的当前的状态

    相关文章

      网友评论

        本文标题:作用域链

        本文链接:https://www.haomeiwen.com/subject/yyxojftx.html