问题:
JavaScript解释器主要是干什么用的?他不是一门语言吗?
解答:
JavaScript是一门脚本语言,是需要被别人解释执行的,这个别人就是JavaScript解释器。它读取一条JS语句、翻译、执行,然后再读取下一条JS语句,周而复始。
解释器的总体结构如图所示。整个解释器以总控程序为中心调用其它模块。图中各模块功能简要介绍如下:
1 词法分析:以嵌入脚本程序作为输入形成单词链表,以便语法分析。单词链表为双向链表结构。
2 语法分析:以单词链表为输入,依照语言的语法规则形成中间数据结构。中间数据结构能够反映出程序语句描述的数据处理流程。
3 解释执行器:以中间数据结构为输入负责对语句解释执行的控制。
4 语句解释器:完成各类型控制语句的解释执行,该模块可能会调用解释执行器而形成递归调用。
5 表达式规约器:由语句解释器来调用,它负责在语句解释执行过程中完成各类型表达式的运算和赋值语句的执行。
6 与浏览器交互:完成在表达式运算过程中对当前文档对象和文本中各种控件对象的属性值的修改并通过改变浏览器的输出显示表现出来。
部分参考:张军林(华中科技大学计算机学院)