几个名词经常出现又总是混淆,找文档标准的时候不知道以哪个为准,还是特意区分下吧
1. JS引擎
- JS引擎是专门处理JavaScript脚本的虚拟机,一般会附带在网页浏览器中
- 即JS引擎负责处理JS脚本
2. 浏览器内核
- 浏览器内核又叫渲染引擎,或排版引擎。负责获取标记式内容(如HTML、XML及图像文件等)、整理信息(如CSS及XSL等),并将排班后的内容输出至显示器或打印机
- 即:浏览器内核负责渲染展示,有时也是图像引擎和JS引擎的组合
一个典型的浏览器有一个图形引擎和一个独立的JavaScript引擎。
3. ECMAScript 和 JavaScript
- ECMAScript是一种由Ecma国际通过ECMA-262标准化的脚本程序设计语言。往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。
- 完整的JavaScript包括:
- ECMAScript,描述了该语言的语法和基本对象
- 文档对象模型(DOM),描述处理网页内容的方法和接口,W3C定义
- 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口
JS引擎 | 浏览器 | 语言 | 备注 |
---|---|---|---|
V8 | Chrome | C++ | Google丹麦开发 ,开源 |
JavaScriptCore | Safari | C++ | 开源 |
Chakra(JScript 引擎) | IE | ||
Chakra(JavaScript引擎) | Microsoft Edge | ||
SpiderMonkey | Firefox | 第一款JavaScript引擎,早期用于Netscape Navigator | |
Rhino | JAVA | 由Mozilla基金会管理,开源 | |
KJS | Konqueror | KDE的ECMAScript/JavaScript引擎,最初由哈里·波顿开发,用于KDE项目的Konqueror网页浏览器中 |
- 以Chorme为例, JS引擎为V8引擎,内核为Blink(Blink中包含V8)
- V8引擎用于处理JavaScript,而JavaScript是ECMAScript的扩展和实现
- JS中的ECMAScript由ECMA国际指定标准, DOM则由W3C制定标准, BOM是各个浏览器厂家的按照默认自主实现
网友评论