一个浏览器如何解析从文件或内联加载的JavaScript?我试图了解浏览器的核心操作。当页面加载并且有对外部文件的
<script>
引用以及页面上的实际JavaScript时,会发生什么情况?是否有好的文章可以参考?<script>
引用以及页面上的实际JavaScript时,会发生什么情况?是否有好的文章可以参考?这是在ECMAScript标准中定义的。
首先,源文本(位于<script>
标签之间的内容)会根据语言的词汇语法转换为一系列标记:
ECMAScript程序的源文本首先被转换为一系列输入元素,它们可以是标记、行终止符、注释或空格。源文本从左到右扫描,不断地将最长的字符序列作为下一个输入元素。
那些标记被视为一个“程序”,然后根据该语言的句法语法进行评估,该语法在ECMAScript标准的第11至14章中定义。
ECMAScript的句法语法在第11、12、13和14条款中给出。该语法具有由词汇语法定义的ECMAScript标记作为其终端符号(5.1.2)。它定义了一组产生式,从目标符号“Program”开始,描述了如何形成句法正确的ECMAScript程序的标记序列。
请参阅:http://es5.github.com/#x5.1.4
它始于第14章:http://es5.github.com/#x14
请注意,每个<script>
元素表示一个单独的JavaScript程序。
请阅读此处:在浏览器中为单个网页执行多少个JavaScript程序?