浏览器解析过程
JavaScript 的加载、解析与执行会阻塞文档的解析,也就是说,在构建 DOM 时,HTML 解析器若遇到了 JavaScript,那么
它会暂停文档的解析,将控制权移交给 JavaScript 引擎,等 JavaScript 引擎运行完毕,浏览器再从中断的地方恢复继续解
析文档。
async 和 defer 的作用是什么
没有defer或async 浏览器会立即加载并执行脚本
defer javascript加载时和html解析并行执行,多脚本按顺序执行
async 异步引入脚本,引入就开始执行,不能保证脚本执行顺序
重绘和回流
- 重绘 : 影响元素的外观风格等,不影响布局等
- 回流: 改变元素的尺寸、布局、显示隐藏等
回流必定会发生重绘,重绘不一定会引发回流
DOMContentLoaded 事件和 Load 事件的区别
- 当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,而无需等待样式表、图像和
子框架的加载完成。 - Load 事件是当所有资源加载完成后触发的。
多个标签页之间的通信
- websocket
- SharedWorker共享线程,只有chrome实现了
- localStorage 监听storage事件
border 画出 1 px 高的线
设置div高度为1px,设置背景色
浏览器内核
mozilla 内核 (firefox,flock 等) -moz
webkit 内核 (safari,chrome 等) -webkit
opera 内核 (opera 浏览器) -o
trident 内核 (ie 浏览器) -ms
网友评论