先从一张图片来理解下这两个引擎javascript
主要做用是解释html和css,并绘制页面;
每种浏览器的渲染引擎可能会不同,但都遵循W3C标准开发而成,方便Web技术的互相兼容性;
比较常见的几种渲染引擎css
主要做用是解释并执行JavaScript;
每种浏览器也会有不一样的JavaScript引擎,但都遵循ECMAScript标准开发而成,便于兼容JavaScript技术
比较常见的几种JavaScript引擎html
----- 段落来源java
JavaScript引擎的基本工做是获取开发人员编写的JavaScript代码,并将其转换为可由浏览器解释甚至嵌入到应用程序中的快速优化代码。通常会附带在网页浏览器之中。web
更确切地说,每一个JavaScript引擎都实现了ECMAScript的一个版本,其中JavaScript是一种方言。随着ECMAScript的发展,JavaScript引擎也在不断发展。有不少不一样的引擎,如:headless browser、Node.js和各类web浏览器。headless browser是指没有图形用户界面的Web浏览器,可用于运行针对Web产品的自动化测试。一个很好的例子是PhantomJS。Node.js是一个异步的,事件驱动的框架,容许在服务器端使用JavaScript。因为这些是JavaScript驱动的工具,所以它们由JavaScript引擎提供支持。浏览器
鉴于虚拟机的定义,将JavaScript引擎称为流程虚拟机是有意义的,由于它的惟一目的是读取和编译JavaScript代码。这并不意味着它是一个简单的引擎。例如,JavaScriptCore有六个构建块,用于分析,解释,优化和垃圾回收。服务器
JavaScript是如何工做的了?固然,这取决因而什么引擎。两个主要引擎是WebKit的JavaScriptCore和Google的V8引擎。这两个引擎处理代码的方式是不一样的。框架
一旦编译过程产生机器代码,引擎就会将ECMA标准中指定的全部数据类型,操做符,对象和函数暴露给浏览器或须要使用它们的任何运行时,如NativeScript。less
JavaScript引擎的代码解析和执行过程的目标是在最短的时间内生成最优化的代码。最重要的是,这些引擎的发展与开发Web和移动领域的过程平行,以使它们尽量地运行。
任何Web开发人员都须要了解浏览器中固有的差别,这些浏览器显示生成,调试和维护的代码。更具体地说,理解为何某些脚本在另外一个浏览器上的运行速度较慢,这一点很重要。异步
相关阅读:
浏览器野史
浏览器是如何渲染网页的
JavaScript引擎
javascript引擎基础