美文网首页
作用域链

作用域链

作者: 苦役亚克 | 来源:发表于2019-08-01 12:26 被阅读0次

    作用域就是一套规则,用于确定在何处以及如何查找变量(标识符)的规则

    例:

    示例1.png

    在foo函数执行的时候,输出一个a变量,这个a变量就是函数第一行定义a变量的代码 var a = 'ccccc'.

    再一例:

    示例2.png

    同样,再输出b的时候发现自己函数内部没有找到变量b,那么就在外层的全局中查找,找到了变量b就停止查找并输出。

    两个例子都有查找变量,不同的是第一段代码是在函数中找到变量,第二段代码是在全局中找到b变量。也就是说第一段代码是在函数作用域中找到a变量,第二段代码是在全局作用域中找到b变量。

    通俗的说 ** 作用域就是查找变量的地方**

    作用域链

    如上示例2,在查找b变量的时候,先在函数作用域中查找,没有找到,再去全局作用域中查找,有一个往外层查找的过程,就好像顺着一条链条从下往上查找变量,这条链条,就称之为作用域链

    作用域嵌套

    函数作用域肯定实在全局作用域里面的,而函数作用域中又可以继续嵌套函数作用域,如下图:

    示例3.png

    代码则是:

    示例4.png

    作者:沉沉___

    链接:https://www.jianshu.com/p/05ca23477b5c

    相关文章

      网友评论

          本文标题:作用域链

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