This commit is contained in:
qianguyihao 2021-03-11 15:39:08 +08:00
parent a06e66c726
commit 3a2d47ef84
2 changed files with 26 additions and 23 deletions

View File

@ -96,7 +96,6 @@ proxy
4输入 `node -v`查看正在使用的 node 版本
- **参考链接**[安装 npmnvmnode](https://segmentfault.com/a/1190000011114680)
如果 Node 安装失败可以参考上面这个链接
@ -113,6 +112,18 @@ nvm install 8.10.0
关于 NVM 的常用命令详见下一段
补充
如果 Node 安装失败可以在上方的 `settings.txt`文件中新增如下两行修改镜像源
```
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
```
- 参考链接[安装 npmnvmnode](https://segmentfault.com/a/1190000011114680)
### Mac 系统安装 Node.js
**1安装 NVM**

View File

@ -7,21 +7,13 @@
- 什么是DOCTYPE及作用
- 浏览器渲染过程
- 浏览器渲染过程面试经常会问在浏览器中输入url发生了哪些事情其中有一部就是浏览器的渲染过程
面试经常会问在浏览器中输入url发生了哪些事情其中有一部就是浏览器的渲染过程
- Reflow重排
面试官问完了渲染机制一般会紧接着问重排Reflow你可千万别说你没听过
- Reflow重排面试官问完了渲染机制一般会紧接着问重排Reflow你可千万别说你没听过
- Repaint重绘
- Layout布局
这里的Layout指的是浏览器的Layout
- Layout布局这里的Layout指的是浏览器的Layout
## 什么是DOCTYPE及作用
@ -84,21 +76,21 @@ PS该DTD包含所有的HTML元素和属性但包括展示性的和弃用
> 上方图片的来源[Google 官方 | 渲染树构建布局及绘制](https://developers.google.com/web/fundamentals/performance/critical-rendering-path/render-tree-construction?hl=zh-cn)
**渲染树**包含了网页中有哪些节点各个节点的CSS样式大小颜色等以及他们的从属关系
**渲染树**包含了网页中有哪些节点节点的从属关系以及节点的CSS样式大小颜色等
我们写完前端代码之后计算机通过解释器把代码文本翻译成机器能理解的数据结构比如说html标签是由一对一对的尖括号表述的可以被浏览器解析为有含义的标记这些标记被翻译成节点对象存放到链型数据结构中这些节点被称之为**DOM对象**这个链型数据结构就是**渲染树**
### 渲染过程重要
浏览器的渲染过程非常复杂但是面试只用说几句话就行了不然太耗时间如何快速简洁地描述清楚是关键来看看下面这张图
浏览器的渲染过程非常复杂面试时找重点说就行不然太耗时间如何快速简洁地描述清楚是关键来看看下面这张图
![](http://img.smyhvae.com/20180310_1257.png)
这里解释一下几个概念方便大家理解
渲染过程中涉及到以下几个概念
- DOM树DOM Tree浏览器将HTML标签解析成树形的数据结构DOM树包含了有哪些节点以及节点之间的嵌套关系
- DOM树DOM Tree浏览器将HTML标签解析成树形的数据结构DOM树包含了有哪些节点以及节点之间的从属关系嵌套关系
- CSSOMCSS Rule Tree浏览器将CSS解析成树形的数据结构CSSOM包含了节点的样式
- CSSOMCSS Rule Tree浏览器将CSS解析成树形的数据结构CSSOM包含了节点的CSS样式大小颜色等
- 渲染树Render Tree: DOM 树与 CSSOM 树合并后形成渲染树渲染树只包含渲染网页所需的节点但并不知道位置
@ -106,7 +98,7 @@ PS该DTD包含所有的HTML元素和属性但包括展示性的和弃用
- 绘制Painting按照算出来的规则通过显卡把内容画出来
- conmposite合成浏览器在绘制的时候不会把所有的内容都画在同一层上需要最终把这些层合成到一起显示在屏幕上
- composite合成浏览器在绘制的时候一开始不会把所有的内容都画在同一层上需要把这些层合成到一起最终显示在屏幕上
参考链接
@ -126,7 +118,7 @@ PS该DTD包含所有的HTML元素和属性但包括展示性的和弃用
1通过JSCSS代码来**触发**页面上的视觉变化
2Style浏览器要重新对样式进行计算
2Style浏览器对样式进行计算
3layout同上一段
@ -142,7 +134,7 @@ PS该DTD包含所有的HTML元素和属性但包括展示性的和弃用
## Reflow重排回流
## 重排回流Reflow
### 定义
@ -180,16 +172,16 @@ PS该DTD包含所有的HTML元素和属性但包括展示性的和弃用
**面试总结**
首先要答出 Reflow 定义其次什么时候触发至少要答出两条更进一步面试官可能还会问你**怎么避免reflow**这个自己去查查
首先要答出 Reflow 定义其次什么时候触发至少要答出两条更进一步面试官可能还会问你**怎么避免reflow**这个可以自己去查查
## Repaint重绘
## 重绘Repaint
### 定义
**Repaint重绘制**当各种盒子的位置大小以及其他属性例如颜色字体大小等都确定下来后浏览器便把这些元素都按照各自的特性绘制一遍于是页面的内容出现了这个过程称之为 Repaint
**重绘制 Repaint**当各种盒子的位置大小以及其他属性例如颜色字体大小等都确定下来后浏览器便把这些元素都按照各自的特性绘制一遍于是页面的内容出现了这个过程称之为 Repaint
说白了页面要呈现的内容统统画在屏幕上这就叫 Repaint