浏览器如何解析和解释JavaScript代码
How do browsers parse and interpret JavaScript code?
浏览器如何解析从文件或内联加载的JavaScript ?我试图了解浏览器的核心功能。当页面加载时,它有外部文件的<script>
引用,并且页面上也有实际的JavaScript。有什么好文章吗?
这是在ECMAScript标准中定义的
首先,源文本(<script>
标记之间的内容)被转换成一系列标记(根据语言的Lexical Grammar):
ECMAScript程序的源文本首先被转换成输入元素序列,这些元素包括令牌、行终止符、注释或空白。从左到右扫描源文本对,重复地取最长的字符序列作为下一个输入元素。
阅读这里:http://es5.github.com/#x7
这一系列标记被视为一个程序,然后根据ECMAScript标准第11到14章中定义的语言的Syntactic Grammar求值。
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程序?
这可能是对浏览器根据ECMAScript标准所做的事情的最好描述:标识符解析、执行上下文和作用域链
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 面向对象的Javascript代码在IE7中不起作用
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- JavaScript代码问题:我正在将对象转换为数组
- Javascript阻止其他Javascript代码
- JavaScript代码未正确检查ajax请求
- 如何调试Javascript代码或函数
- 为什么我在这个javaScript代码中使用NaN
- 将javascript代码转换为jquery代码时出错
- 如何从Objective-C代码中调用javascript代码
- 有什么工具可以轻松读取javascript代码吗
- 这个javascript代码是如何编写的
- 如何解密此javascript代码
- SIMPLE Javascript代码,用于显示谷歌电子表格中单个字段的数据
- HTML标记,包含带引号的JavaScript代码中的引号
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- addEventListener的Javascript代码不工作!?(单击时打开放大的img)
- JavaScript代码无法在表单上呈现部分
- 以下 JavaScript 代码与 Facebook 相关
- 使用解析为javascript源的.php,如何使用条件语句将javascript代码封装在php括号之间