【JavaScript】JIT
JIT实际上指,JS的编译过程、运行时。
Just in Time
在传统的编译语言里,比如JAVA、Go等,是提前编译的,它们的执行是先在本地编译出一个"东西",然后在放到服务器上运行。
提前编译的三大过程:
- 分词/词法分析(Tokenizing/Lexing)
- 解析/语法分析(Parsing)
- 机器码代码生成
但是JS是脚本语言,JS是一边编译一边执行的,所以JS会复杂很多。
例如,在 语法分析和代码生成阶段有特定的步骤来对运行性能进行优化,包括对冗余元素进行优化 等。
大部分情况下JS编译发生在代码执行前的几微秒(甚至更短!)的时 间内。
简单地说,任何 JavaScript 代码片段在执行前都要进行编译(通常就在执行前)。因此, JavaScript 编译器首先会对 var a = 2; 这段程序进行编译,然后做好执行它的准备,并且 通常马上就会执行它。