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

时间:2011-09-21 14:27:13

标签: javascript browser

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

2 个答案:

答案 0 :(得分:15)

这是在ECMAScript标准中定义的。

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

  

ECMAScript程序的源文本首先转换为   输入元素序列,它们是令牌,行终止符,   评论或空格。源文本从左侧扫描到   对,反复采取尽可能长的字符序列   作为下一个输入元素。

请在此处阅读:http://es5.github.com/#x7

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

  

ECMAScript的句法语法在第11,12,13节中给出   这个语法有词法定义的ECMAScript标记   语法作为终端符号(5.1.2)。它定义了一组   制作,从目标符号程序开始,描述如何   令牌序列可以形成语法正确的ECMAScript   程序

请在此处阅读:http://es5.github.com/#x5.1.4

从第14章开始:http://es5.github.com/#x14


请注意,每个<script>元素代表一个单独的JavaScript程序 请在此处阅读:How many JavaScript programs are executed for a single web-page in the browser?

答案 1 :(得分:0)

这可能是根据ECMAScript标准Javascript Closures: Identifier Resolution, Execution Contexts and scope chains

对浏览器执行操作的最佳描述