JavaScript引擎是一段程序,我们写的JavaScript代码也是程序,如何让程序去读懂程序呢?这就需要定义规则。
ECMAScript定义了语言的标准,JavaScript引擎根据这个标准来实现
JavaScript引擎跟JavaScript的关系跟Java虚拟机跟Java的关系有些类似。
深入了解其内部原理的途径有哪些?
1、看讲JavaScript引擎工作原理的书
这种方式最方便,不过我个人了解到的这样的书几乎没有,但是Dmitry A.Soshnikov博客上的文章真的是非常的赞,建议直接看英文,实在英文看起来吃力的,可以看译本
Dmitry A.Soshnikov博客:http://dmitrysoshnikov.com/
2、看ECMAScript的标准文档
这种方式相对直接,原汁原味,因为引擎就是根据标准来实现的。目前来说,可以看第五版和第三版,不过要看懂也是不容易的。
第五版:
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
3、看JS引擎源代码
这种方式最直接,当然也最难了。因为还牵涉到了如何实现词法分析器,语法分析器等等更加底层的东西了,而且并非所有的引擎代码都是开源的。
原文链接:
http://www.nowamagic.net/librarys/veda/detail/1579