浏览器如何解析和解释JavaScript代码?

浏览器如何解析和解释JavaScript代码?,javascript,browser,Javascript,Browser,浏览器如何解析从文件或内联加载的JavaScript?我试图了解浏览器的核心功能。当一个页面加载并且它有对外部文件的引用,并且页面上也有实际的JavaScript时会发生什么。有什么好文章吗?这是ECMAScript标准中定义的 首先,源文本(标记之间的内容)被转换成一系列标记(根据语言的词汇语法): ECMAScript程序的源文本首先转换为 输入元素的序列,即标记、行终止符、, 注释或空白。源文本从左到右扫描 对,重复使用尽可能长的字符序列 作为下一个输入元素 请看这里: 该系列标记被视为一

浏览器如何解析从文件或内联加载的JavaScript?我试图了解浏览器的核心功能。当一个页面加载并且它有对外部文件的
引用,并且页面上也有实际的JavaScript时会发生什么。有什么好文章吗?

这是ECMAScript标准中定义的

首先,源文本(
标记之间的内容)被转换成一系列标记(根据语言的词汇语法):

ECMAScript程序的源文本首先转换为 输入元素的序列,即标记、行终止符、, 注释或空白。源文本从左到右扫描 对,重复使用尽可能长的字符序列 作为下一个输入元素

请看这里:

该系列标记被视为一个程序,然后根据ECMAScript标准第11章至第14章中定义的语言的语法进行评估

ECMAScript的语法见第11、12、13条 和14。此语法具有由词汇表定义的ECMAScript标记 语法作为其终端符号(5.1.2)。它定义了一组 从目标符号程序开始,描述如何 令牌序列可以形成语法正确的ECMAScript 节目

请看这里:

从第14章开始:


请注意,每个
元素表示一个单独的JavaScript程序。

阅读此处:

这可能是对浏览器根据ECMAScript标准所做工作的最好描述

不同的浏览器使用不同的java脚本引擎,如V8或spider monkey。我想它们遵循一些标准。有一些相似之处。JavaScript代码是被解释的,而不是被解析的。@ŠimeVidas:当然,在解释之前你必须先解析它it@dev.e.loper:该标准为ECMA-262:。