js作为脚本语言运行在浏览器中,浏览器就是js的运行环境。对于众多风云的浏览器厂商来说, 他们的内核又是不一样的。浏览器内核分为两种:渲染引擎和js引擎。
渲染引擎:负责网页内容呈现的。
Js引擎:解释js脚本,实现js交互效果的。
4.浏览器常见内核
4.浏览器如何解析js文件
首先js文件是以script标签元素呈现在html里面的,浏览器根据html文件进行解析,当解析到script标签时,会停止html解析,然后开始下载js文件并且执行它,在执行的过程中如果是第一个js文件此时浏览器会触发首次渲染。所以出现一个问题js文件大大阻碍了html页面解析及渲染,所以引入async和defer两个属性(对于 首屏优化有很大的提升,也要谨慎使用)
async:开启另外一个线程下载js文件,下载完成,立马执行。(此时才发生阻塞)
defer:开启另一个线程下载js文件,直到页面加载完成时才执行。(根本不阻塞)
