渲染机制

141 阅读1分钟

什么是DOCTYPE及作用?

浏览器渲染过程?

重排 Reflow?

重绘 Repaint?

浏览器布局 Layout?

什么是DOCTYPE及作用?



常见的doctype有哪些,html的doctype怎么写?


严格模式和传统模式。

二者区别:

严格模式:包含所有的HTML元素和属性,但不包括展示性和弃用的元素。

传统(宽松)模式:包含所有的HTML元素和属性,包括展示性和弃用的元素。

浏览器的渲染过程?


重排 Reflow?



提问 如何避免reflow?

重绘 Repaint?


页面需要呈现的内容画在页面上。

提问 如何最小程度上的避免repaint?

repaint 是页面渲染数据的时候无法避免,否则就是纯静态页面。

首先创建一个片段,然后将所需的节点一次性append进入页面。

js 运行机制

console.log(1)    setTimeout(function () {      console.log(2)    }, 0)    console.log(3)

无论计时器延迟0秒,还是很多秒, 结果都是 1 3 2.

原因:

js是单线程:js在同一时间就可以做一件事;

任务队列:异步事件

setTimeout 是异步任务。 

js 从上到下执行,遇到异步任务挂起,执行同步任务,执行同步任务结束之后响应异步任务。

    console.log('a')     while (true){            }     console.log('b')

结果只有 a

 while 是同步事件 所以while语句一直在循环,不会执行 下面的语句

    console.log('a')    setTimeout(function () {      console.log('c')    }, 0)    while (1) {
    }

结果只有a

打印过a之后,遇到异步事件setTimeout 然后挂起,执行while语句,但是此时的while语句条件为真,一直执行,那么就不会执行 setTimeout 的异步事件。