美文网首页
[JS基础学习]执行上下文

[JS基础学习]执行上下文

作者: 砂壶 | 来源:发表于2020-04-13 09:15 被阅读0次

    执行上下文 execution context

    概念:

    评估和执行 JavaScript 代码的环境的抽象概念。每当 Javascript 代码在运行的时候,它都是在执行上下文中运行。

    类型:

    • 全局执行上下文
      当 JavaScript 开始要解释执行代码的时候,最先遇到的就是全局代码。一个程序中只会有一个全局执行上下文。
    • 函数执行上下文
      每当一个函数被调用时, 都会为该函数创建一个新的上下文。每个函数都有它自己的执行上下文,不过是在函数被调用时创建的。
      (eval不建议使用不作介绍)

    每个执行上下文,都有三个重要属性:

    • 变量对象(Variable object,VO)
    • 作用域链(Scope chain)
    • this

    如何管理创建的多个执行上下文?

    JavaScript 引擎创建了执行上下文栈(Execution context stack,ECS)来管理执行上下文。它一种拥有 LIFO(后进先出)数据结构的栈,被用来存储代码运行时创建的所有执行上下文。

    学习资料:
    https://juejin.im/post/5ba32171f265da0ab719a6d7
    https://github.com/mqyqingfeng/Blog/issues/4

    相关文章

      网友评论

          本文标题:[JS基础学习]执行上下文

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