v8是如何执行js代码的

174 阅读1分钟
  1. 生成抽象语法树(AST)和执行上下文;
  2. 根据AST生成字节码;
  3. 解释器对字节码进行逐条解释执行。即时编译(JIT):在v8中的表现为,解释器在解释执行字节码过程中,会收集代码信息,当发现某一部分代码被重复执行多次,即变热之后,会把热点的字节码转换为机器码,并保存下来以备下次使用,从而提升代码的执行效率。

js性能优化的方向:

  1. 提升单次脚本的执行速度,避免js长任务霸占主线程;
  2. 避免大的内联脚本,避免解析HTML中会占用过长时间的主线程;
  3. 减少js脚本体积;