V8执行JavaScript代码的疑惑

李兵老师在《浏览器工作原理与实践》中描述V8执行Js代码,使用了下面这个图片:
image
也就是说源代码分析完就有AST和执行上下文
但是在《图解 Google V8》中描述V8执行Js代码,使用了下面这个图片:
image
这里又说源代码分析完就有AST和作用域
那究竟哪个是正确的?


执行上下文不是在函数执行时才产生吗?为什么源码分析完就有了,求解!

阅读 2.4k
2 个回答

一个执行上下文主要包含三块信息:

  1. this变量;
  2. 函数内部局部变量(包含形参和argument变量);
  3. 作用域对象列表。

在代码被解释器执行前是无法确认this变量的,怎么能创建执行上下文呢。

李兵的图是错的。

执行上下文只会在函数执行时产生,而不会在代码解析时产生。

更详细更准确的解答,欢迎订阅我的书籍,包括了详细的 v8 过程,执行上下文过程

https://xiaozhuanlan.com/afed

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题