为什么外链css为什么要放头部?
css的下载解析是可以和html的解析同步进行的,如果放到尾部,还需要花费多余的时间来解析,并且浏览器会解析一个没有样式的页面,等css加载完之后再渲染一个有样式的页面,页面会有闪动现象
js文件问什么要放在文件底部?
1,解决页面阻塞问题,放在开头,需要加载完js文件,才执行之后的代码,如果js文件较大,会产生页面阻塞问题,
2,可能无法获取对象,js文件放在开头,DOM元素还没加载,js就可能灰出现无法获取对象的情况
关于js的异步加载:
async和defer
1,这两个属性只是script标签在header标签中使用的,
2,脚本之间没有依赖关系,就使用async属性,如果脚本之间有依赖关系,就使用defer属性,
3,如果同时使用async和defer属性,后者不起作用,浏览器行为由async属性决定。
4,script 的这两个属性主要用于其js文件没有操作DOM的情况,这时候就可以将该js脚本设置为异步加载,通过async或defer来标记代码。
header中script和外链css的位置顺序
js的执行是依赖css样式的。即只有css样式全部下载完成后才会执行js。