update: JS引擎

This commit is contained in:
qianguyihao 2023-10-04 23:53:39 +08:00
parent 86cafffeaf
commit ebbb2a2e33
2 changed files with 18 additions and 8 deletions

View File

@ -60,7 +60,7 @@ Web标准不是某一个标准而是由W3C组织和其他标准化组织制
- HTMLHyperText Markup Language超文本标记语言。从**语义**的角度描述页面的**结构**。相当于人的身体组织结构。
- CSSCascading Style Sheets层叠样式表。从**审美**的角度美化页面的**样式**。相当于人的衣服和打扮。
- JSJavaScript。从**交互**的角度描述页面的**行为**。相当于人的动作,让人有生命力。
- JavaScript简称JS从**交互**的角度描述页面的**行为**,实现业务逻辑和页面控制。相当于人的动作,让人有生命力。
**3、打个比方**:(拿黄渤举例)

View File

@ -33,7 +33,7 @@ publish: true
### 1、渲染引擎浏览器内核
浏览器所采用的「渲染引擎」也称之为「浏览器内核」,用来解析 HTML与CSS。渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。
浏览器所采用的「渲染引擎」也称之为「浏览器内核」,用于解析 HTML与CSS、布局、渲染等工作。渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。
**渲染引擎是浏览器兼容性问题出现的根本原因。**
@ -58,19 +58,29 @@ publish: true
### 2、JS 引擎
也称为 JS 解释器。 用来解析网页中的JavaScript代码,对其处理后再运行
也称为 JS 解释器。 用来解析和执行网页中的JavaScript代码。
浏览器本身并不会执行JS代码而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时会逐行解释每一句源码(转换为机器语言),然后由计算机去执行。所以 JavaScript 语言归为脚本语言,会逐行解释执行。
浏览器本身并不会执行JS代码而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时会逐行解释每一句源码,转换为机器语言,然后由计算机去执行。
常见浏览器的 JS 引擎如下:
|浏览器 | JS 引擎|
|:-------------:|:-------------|
|chrome / 欧鹏 | V8 |
|Safari|Nitro|
|Firefox 火狐|SpiderMonkey1.0-3.0/ TraceMonkey3.5-3.6/ JaegerMonkey4.0-|
|Opera|Linear A4.0-6.1/ Linear B7.0-9.2/ Futhark9.5-10.2/ Carakan10.5-|
|chrome、欧鹏 | V8 |
|Mozilla Firefox 火狐|SpiderMonkey1.0-3.0/ TraceMonkey3.5-3.6/ JaegerMonkey4.0-|
|Safari|JavaScriptCore也称为Nitro是 WebKit 引擎的一部分|
|IE|Trident |
|Edge|Chakra。此外ChakraCore是Chakra的开源版本可以在不同的平台上使用。 |
|Opera|Linear A4.0-6.1/ Linear B7.0-9.2/ Futhark9.5-10.2/ Carakan10.5-|
补充说明:
1、SpiderMonkey 是第一款 JavaScript 引擎,由 JS语言的作者 Brendan Eich 开发。
2、先以WebKit为例WebKit上由两部分组成
- WebCore负责解析HTML、布局、渲染等工作。
- JavaScriptCore负责解析和执行JavaScript 代码。
参考链接: