浏览器相关原理

听小姐姐讲 CSS 重排、重绘和合成
如何控制Web资源加载的优先级?

1.js运行环境

js作为脚本语言运行在浏览器中,浏览器就是js的运行环境。对于众多风云的浏览器厂商来说, 他们的内核又是不一样的。浏览器内核分为两种:渲染引擎和js引擎。

渲染引擎:负责网页内容呈现的。

Js引擎:解释js脚本,实现js交互效果的。

1.1常见的内核:

请添加图片描述

1.2 现在我们有一个js文件,那么浏览器是如何执行它的呢?

首先我们js文件以scirpt标签元素呈现在html里面的。浏览器根据html文件以此解析标签,当解
析到scirpt标签时,会停止html解析,阻塞住,开始下载js文件并且执行它,在执行的过程中,如
果是第一个js文件此时浏览器会触发首次渲染(至于为什么,自己做下实验,不懂的可以留言)。
所以出现一个问题js文件大大阻碍了html页面解析及渲染,所以引入async和defer两个属性(对于
首屏优化有很大的提升,也要谨慎使用)
async:开启另外一个线程下载js文件,下载完成,立马执行。(此时才发生阻塞)
defer:开启另一个线程下载js文件,直到页面加载完成时才执行。(根本不阻塞)

下面的文章很不错

浏览器是如何首次渲染网页的?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥肥呀呀呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值