JavaScript引擎是如何深入执行JS代码的原理?

2026-03-31 14:470阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2022个文字,预计阅读时间需要9分钟。

JavaScript引擎是如何深入执行JS代码的原理?

本章节为家长带来了关于JavaScript的相关知识,主要介绍了JS引擎如何执行JS代码的相关问题。JS引擎在执行JS代码时,会从上到下进行词法分析、语法分析和语义分析等处理。

本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了js引擎如何执行js代码的相关问题,js引擎在执行js代码时,也会从上到下进行词法分析、语法分析、语义分析等处理,并在代码解析完成后生成AST,希望对大家有帮助。

相关推荐:javascript教程

我们大概经常能听到“执行环境”、“作用域”、“原型(链)”、“执行上下文”等内容,它们都在描述什么?

JS代码的运行

我们知道了js是弱类型语言,在运行时才确定变量类型。js引擎在执行js代码时,也会从上到下进行 词法分析语法分析语义分析 等处理,并在代码解析完成后生成AST(抽象语法树),最终根据AST生成CPU可以执行的机器码并执行。

除此之外,JS引擎在执行代码时还会进行其它处理,如 V8 中还有两个阶段:

  • 编译阶段:该阶段会进行执行上下文的创建,包括创建变量对象(VO)(此时会被初始化为undefined)、建立作用域链、确定 this 指向等。每进入一个不同的运行环境。V8 都会创建一个新的执行上下文。
  • 执行阶段:将编译阶段中创建的执行上下文压入调用栈,并成为正在运行的执行上下文。代码执行结束后,将其弹出调用栈。(这里有一个VO - AO的过程:JavaScript对变量赋值时变量被用到,此时变量对象会转为活动对象,转换后的活动对象才可被访问)

这就引出了两个概念:“执行上下文” 和 “作用域链”。

阅读全文

本文共计2022个文字,预计阅读时间需要9分钟。

JavaScript引擎是如何深入执行JS代码的原理?

本章节为家长带来了关于JavaScript的相关知识,主要介绍了JS引擎如何执行JS代码的相关问题。JS引擎在执行JS代码时,会从上到下进行词法分析、语法分析和语义分析等处理。

本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了js引擎如何执行js代码的相关问题,js引擎在执行js代码时,也会从上到下进行词法分析、语法分析、语义分析等处理,并在代码解析完成后生成AST,希望对大家有帮助。

相关推荐:javascript教程

我们大概经常能听到“执行环境”、“作用域”、“原型(链)”、“执行上下文”等内容,它们都在描述什么?

JS代码的运行

我们知道了js是弱类型语言,在运行时才确定变量类型。js引擎在执行js代码时,也会从上到下进行 词法分析语法分析语义分析 等处理,并在代码解析完成后生成AST(抽象语法树),最终根据AST生成CPU可以执行的机器码并执行。

除此之外,JS引擎在执行代码时还会进行其它处理,如 V8 中还有两个阶段:

  • 编译阶段:该阶段会进行执行上下文的创建,包括创建变量对象(VO)(此时会被初始化为undefined)、建立作用域链、确定 this 指向等。每进入一个不同的运行环境。V8 都会创建一个新的执行上下文。
  • 执行阶段:将编译阶段中创建的执行上下文压入调用栈,并成为正在运行的执行上下文。代码执行结束后,将其弹出调用栈。(这里有一个VO - AO的过程:JavaScript对变量赋值时变量被用到,此时变量对象会转为活动对象,转换后的活动对象才可被访问)

这就引出了两个概念:“执行上下文” 和 “作用域链”。

阅读全文