解释型语言和编译型语言
- 解释型语言:在解释型语言中,代码自上而下运行,且实时返回运行结果。代码在由浏览器执行前,不需要将其转化为其他形式。代码将直接以文本格式被接受和处理。
- 编译型语言:需要先将代码转化(编译)成另一种形式才能运行。比如 C/C++ 先被编译成汇编语言,然后才能由计算机运行。程序将以二进制的格式运行,这些二进制内容是由程序源代码产生的。
- 编译型语言需要一个编译器, 编译器是一个程序,能够把用Java等高级语言编写出来的源代码翻译为直接在计算机上执行的文件。
- 解释型语言不需要编译器——它们仅需要解释器。 对于JavaScript 语言。在互联网环境下,Web浏览器负责完成有关的解释和执行的工作,浏览器中的JavaScript解释器将直接读入源代码并执行。浏览器中如果没有解释器,JavaScript代码就无法执行。
- 用编译型语言编写的代码有错误,这些错误在代码编译阶段就能被发现。而解释型语言代码中的错误只能等到解释器执行到有关代码时才能被发现。与解释型语言相比,编译型语言往往速度更快,可移植性更好。
现在我们来说说JS属于什么语言?
JavaScript 是 轻量级解释型语言 。浏览器接收到JavaScript代码,并以代码自身的文本格式运行它。技术上,几乎所有 JavaScript 转换器都运用了一种叫做即时编译(just-in-time compiling)的技术;当 JavaScript 源代码被执行时,它会被编译成二进制的格式,使代码运行速度更快。尽管如此,JavaScript 仍然是一门解释型语言,因为编译过程发生在代码运行中,而非之前。