浏览器如何解析从文件或内联加载的JavaScript?我试图了解浏览器的核心功能。页面加载时会发生什么,它对外部文件有<script>
个引用,页面上也有实际的JavaScript。那里有什么好文章吗?
答案 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
对浏览器执行操作的最佳描述