V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rabbbit
V2EX  ›  问与答

[js 问题]call stack 和 execution context stack 是同一个东西吗?

  •  
  •   rabbbit · 2019-03-12 18:20:18 +08:00 · 747 次点击
    这是一个创建于 1879 天前的主题,其中的信息可能已经有所发展或是发生改变。

    好多讲 event loop 的资料都会提到 call stack(也有叫 stack/调用栈 /执行栈 之类的,反正是乱七八糟叫啥的都有). 翻了翻 ECAMScript 文档,没搜到 call stack,倒是有个类似的execution context stack. 这俩玩意指的是同一个东西吗?

    第 1 条附言  ·  2019-03-12 20:15:26 +08:00
    ECMAScript 里有个关于 job 的描述
    >Execution of a Job can be initiated only when there is no running execution context and the execution context stack is empty.
    指明了 job 队列会在 execution context stack 为空时运行

    因此,这些文章里所谓的 stack 应该就是 execution context stack 吧.

    结贴
    第 2 条附言  ·  2019-03-13 21:47:29 +08:00
    2 条回复    2019-03-12 19:42:00 +08:00
    rabbbit
        1
    rabbbit  
    OP
       2019-03-12 18:58:52 +08:00
    补一下各种叫法:
    阮一峰的文章里就叫 stack http://www.ruanyifeng.com/blog/2014/10/event-loop.html
    这篇文章里 called stack/stack/call stack 混用 https://pjchender.blogspot.com/2017/08/javascript-learn-event-loop-stack-queue.html
    mdn 能查到一个叫 call stack 的页面 https://developer.mozilla.org/zh-CN/docs/Glossary/Call_stack
    这堆 stack 指的和 execution context stack 是不是同一个东西?
    MrKou47
        2
    MrKou47  
       2019-03-12 19:42:00 +08:00 via iPhone   ❤️ 1
    可以在 whatwg 上找一下,有些规范 ecma 只是给出一个指导意见,具体实现或者名词的叫法还是会有差异的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2255 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:34 · PVG 11:34 · LAX 20:34 · JFK 23:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.