本教程操作环境:windows7系统、javascript1.8.5版、dell g3电脑。
javascript解释器是什么
javascript是一门脚本语言,是需要被别人解释执行的,这个别人就是javascript解释器。它读取一条js语句、翻译、执行,然后再读取下一条js语句,周而复始。
javascript解释器又名javascript引擎,是一个专门处理javascript脚本的虚拟机,一般会附带在网页浏览器之中。其作用是执行javascript源码。
javascript解析引擎就是能够“读懂”javascript代码,并准确地给出代码运行结果的一段程序。
javascript解释器的组成
javascript解释器有四个组成部分:词法解析器、句法解析器、字节码生成器、字节码解释器。
词法解析器
它可以让一行行代码源码拆分成一个个最小的词义单位。所谓的词义单位就是在语法上不能再分,最小的单个字符或者字符组合。
var number = 2; //解析成下面的json格式 [ { 'type':'keyword', 'value':'var' }, { 'type':'identifier', 'value':'number', }, { 'type':'punctuator', 'value':'=', }, { 'type':'numeric', 'value':'2', } { 'type':'punctuator', 'value':';' } ]
句法分析器
将上面的分析出来的数组,根据语法规则,转换为抽象语法树,用esprimas解析工具可以知道也转换成了json格式。
这个抽象语法树有什么用呢?
人家说压缩优化代码,这我又不懂了,然后又说编译器、ide等都有很多用处(现在没有办法去深入技能不够)
在美团点评技术中看到了语法树可以用来重构javascript代码
字节码生成器
它的作用呢就是把语法树转换为javascript引擎能读懂和执行的的二进制代码。
每种javascript引擎都有自己的字节码格式,最简单的做法就是把语义单位翻译成二进制
字节码解释器
当然这个一环跟一环的,有了二进制代码了,那么接下来就是执行二进制代码咯,产生了你可以用眼睛看到的结果咯。
【相关推荐:javascript学习教程】
以上就是javascript的解释器是什么的详细内容。
