JavaScript——不仅仅是解释性语言

编译(Compilation)

JavaScript 通常被视为一种解释性语言,但是现代的JS引擎不仅仅解释JavaScript,而且会编译它。

自从2009年,火狐将SpiderMokeyjs编译器添加到Firefox 3.5中后,所有人纷纷效仿这个idea。

JavaScript 代码由内置JIT编译(即时编译或者动态编译)的V8引擎编译,从而提升了代码执行的速度。

虽然这看起来有点不直观,但是自从2004年谷歌地图引入(上述)之后,JavaScript 已经由一个只能执行少数几个lines的语言进化为可以完成 运行在浏览器上拥有数百甚至上千lines的应用。(这段话没有完全理解,参照谷歌地图)

现今,我们的应用可以在浏览器中运行数个小时,而不是仅仅完成一些表单校验或者简单的脚本。

在新世界中,编译 JavaScript 拥有巨大的意义,因为它让JavaScript准备的更加充分,一旦完成(编译型的)相比单纯的解释性代码更具表现力。

-------译自 node.js 官网教程

相关知识点参考:

  • 解释性语言VS编译性语言
  • 浏览器内核、引擎关系:
  • V8 为什么那么快及JIT的知识:

你可能感兴趣的:(基础知识,前段学习)