V8执行JavaScript代码的疑惑

中原大虾
  • 58

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


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

评论
阅读 319
2 个回答

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

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

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

李兵的图是错的。

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

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

https://xiaozhuanlan.com/afed

撰写回答

登录后参与交流、获取后续更新提醒

宣传栏