JavaScript是编译型语言还是解释型语言?

184

Javascript可以被称为纯解释语言吗?还是它也有一些编译的特点?有人能指导一下两者背后的原因,无论哪种情况都是真的。


51
请在投反对票时考虑添加评论,以便改进问题。谢谢。 - netemp
3
你是在说编译和解释之间的区别根本就不应该存在吗? - netemp
2
这可能是一种常见的语言分类方式,但这并不意味着它更有用。 - user395760
1
@NetEmp(注意我没有投反对票-但已经投票迁移到程序员)这是询问此类问题的错误位置-阅读FAQ了解在此处提出的问题-这应该在StackExchange的编程部分中。 - Manse
1
@ManseUK:感谢分享这个。以后会注意的。 - netemp
显示剩余3条评论
2个回答

90

21

JavaScript是由客户端浏览器在运行时进行解释的。有一种工具叫做Rhino JavaScript Compiler,据说它可以将JavaScript编译成Java类文件。


7
V8和类似的东西怎么办? - user395760
32
V8从未包含类似解释器的东西,现在大多数主流的JS引擎都配备了JIT编译器。因此,说“JavaScript是解释性语言”显然是错误的(或者可能是您对解释器/编译器的定义不同)。 - user395760
1
@delnan: 感谢你在V8方面的见解。因此,JS不是一种纯解释型语言。 - netemp
2
犀牛 JavaScript 编译器。如果你想让你的解释语言被另一种解释语言解释,那么你知道该怎么做。 - Trevor Hickey
1
正如其他人所说,这已经不再是真实的情况了。是的,在早期,你可以说JavaScript是解释执行的,但是自那时以来它已经发展了很长一段路程 - John Weisz
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接