【答疑释惑】JavaScript解释器是干什么用的?

问题:

JavaScript解释器主要是干什么用的?他不是一门语言吗?

解答:

JavaScript是一门脚本语言,是需要被别人解释执行的,这个别人就是JavaScript解释器。它读取一条JS语句、翻译、执行,然后再读取下一条JS语句,周而复始。

解释器的总体结构如图所示。整个解释器以总控程序为中心调用其它模块。图中各模块功能简要介绍如下:

1 词法分析:以嵌入脚本程序作为输入形成单词链表,以便语法分析。单词链表为双向链表结构。

2 语法分析:以单词链表为输入,依照语言的语法规则形成中间数据结构。中间数据结构能够反映出程序语句描述的数据处理流程。

3 解释执行器:以中间数据结构为输入负责对语句解释执行的控制。

4 语句解释器:完成各类型控制语句的解释执行,该模块可能会调用解释执行器而形成递归调用。

5 表达式规约器:由语句解释器来调用,它负责在语句解释执行过程中完成各类型表达式的运算和赋值语句的执行。

6 与浏览器交互:完成在表达式运算过程中对当前文档对象和文本中各种控件对象的属性值的修改并通过改变浏览器的输出显示表现出来。

部分参考:张军林(华中科技大学计算机学院)

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-08-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏帅小子的日常

Javac的实现过程

1002
来自专栏java一日一条

Java对象初始化顺序

最近我发现了一个有趣的问题,这个问题的答案乍一看下骗过了我的眼睛。看一下这三个类:

411
来自专栏帅小子的日常

Javac的实现过程

2965
来自专栏一个会写诗的程序员的博客

从 JavaScript 到 TypeScript

TypeScript 并不是一个完全新的语言, 它是 JavaScript 的超集,为 JavaScript 的生态增加了类型机制,并最终将代码编译为纯粹的 J...

943
来自专栏吴伟祥

Java 8 新特性 转

Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支...

665
来自专栏AI科技大本营的专栏

数据科学Python基础(附示例代码和练习题目)

? 翻译 | AI科技大本营 参与 | 王珂凝 审校 | reason_W 【AI科技大本营导读】Python的强大和灵活相信已经毋庸置疑了。那么数据科学中...

3245
来自专栏cloudskyme

设计模式(7)-模板(从事务处理应用的模板)

首先看一个对于数据库操作的程序: #include <iostream> using namespace std; class DataOper{ publ...

3296
来自专栏小狼的世界

PHP中正则的使用

正则表达式,作为一种快速、便捷的处理字符串的工具,在各种编程语言中都有着广泛的用途,通过在PHP中的一些使用,下面记录一下关于PHP中正则使用的一些技巧。

583
来自专栏老九学堂

初学C语言?先搞懂这些基础知识再谈深度学习吧!

编译程序: 如何把源程序转换成机器能够接受的目标程序,软件工作者编制了一系列的软件.通过这些软件,把用户按规定语法写出的语句一一翻译成二进制的机器指令. 这种具...

922
来自专栏Python攻城狮

正则表达式1.正则表达式概述2.re模块操作3.表示字符4.re模块的高级用法5.贪婪和非贪婪

在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个模块,名字为re

662

扫描关注云+社区