Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.4k views
in Technique[技术] by (71.8m points)

V8执行JavaScript代码的疑惑

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


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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...