引入方式
<script src="a.js"> <script>
console.log("xjs")
DOM,BOM
DOM:浏览器提供一系列能操作网页结构的api
BOM:浏览器提供的一系列和页面结构无关但和浏览器其他功能相关的API
渲染机制
解析 html标签,构建dom树
解析css,构建cssom树(om:对象模型)
把dom和cssom组合成渲染树(就是把一句话或者图片用什么方式展现出来)
在渲染树的基础上进行布局,计算每个节点的几何结构
把每个节点绘制到屏幕上
repaint和reflow
reflow重新计算元素的几何尺寸,位置(用调式工具改变了位置就需要reflow重新计算几何位置和重新绘制repaint)
repaint
绘制页面发生变化的部分(位置不变,比如只改变了标题里面文字的颜色就是repaint)
案例:
添加删除更新DOM节点,修改元素的magin,padding,border,display:none
都是改变了元素的位置或者大小都会使用到(reflow,repaint)
visibilit:hidden,修改颜色,背景色
都是不改变位置只改颜色就单独使用到(repaint)
总结:决定定位会减少reflow的使用
阻塞解析
js 的加载和执行都会阻塞解析页面的解析(只会阻塞DOM的解析,不会阻塞其他资源的加载)