js 引擎 JavaScriptCore


csdn lidp http://blog.csdn.net/perfectpdl

javascriptCore 为 webkit 提供的js引擎, 实现了 ECMAScript 262 标准。

虽然 谷歌的Chromium 浏览器用webkit作为渲染引擎,但是其js引擎用的是v8而不是javascriptCore,

android 上的浏览器默认也用V8作为js引擎。


JavaScriptCore 随webkit源码一起发布,在 Source/JavaScript 目录下


与大多数脚本引擎一样,javascriptCore 包含 词法解析器,语法解析器和解释器。


词法解析:负责对js代码 作词法解析,词法解析生成一系列 tokens, 词法解析代码在parser/Lexer.h和parser/Lexer.cpp目录下

语法分析:语法分析器分析词法分析器生成的tockens,生成语法树 , 代码在parser/JSParser.h和parser/JSParser.cpp.

解释器:解释器执行语法分析器生成的字节码,javascriptCore 有两种解释器,一个为基于字节码的,一个为jit的,前者在虚拟机中执行,后者生成的是本地代码,很明显后者会得到更快的执行速度,这种方式是V8默认使用的方式,解释器代码在interpreter/ 目录下,负责生成本地字节码的代码在jit/ 目录下。

你可能感兴趣的:(javascript,运维,移动开发)