# 浏览器
# 内核
TIP
我们把浏览器中识别代码绘制页面的东西称之为浏览器的内核或者渲染引擎
- 谷歌浏览器(Chrome):Webkit内核(V8引擎)
- Safari浏览器:Webkit内核(V8引擎)
大部分国产浏览器、安卓和IOS大部分手机浏览器都是V8引擎 node也是基于V8渲染JS的 Natetive App(原生App)渲染H5页面的 - 火狐浏览器-moz-(firefox):Gecko
['ɡekoʊ]
内核 - 欧朋浏览器-o-(opera):Presto
['prestou]
内核 - IE浏览器-ms-(Trident):Trident
['traɪdnt]
内核
前端开发者遵循W3C(万维网联盟)规范来开发网页
浏览器开发商开发的浏览器按照W3C的规范,识别出开发者编写的代码,并在页面中绘制出开发者预想的页面和效果(GPU:显卡 来渲染),我们把浏览器中识别代码绘制页面的东西称之为浏览器的内核或者渲染引擎
# 引擎
TIP
负责JS
的编译及执行过程
引擎的LHS
引用:对变量赋值
引擎的RHS
引用:取到引用对象的源值
# 编译器
负责编译
# 编译原理
编译
在传统编译语言的流程中,程序中的一段代码在执行前会经理三个步骤,统称为编译
;
分词/词法分析 这个过程会将代码字符串分解为代码块,又叫词法单元。
解析/语法分析 这个过程将词法单元流(数组)转换为一个由元素主机嵌套所组成的代表了程序语法结构的树。又叫抽象语法树(AST)
代码生成 将AST语法树转换为机器指令
# 作用域
负责收集和维护变量组成的一系列查询,并实施一套非常严格的规则,确定当前执行的代码对这些标识符的访问权限。