什么是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 的异步事件。