script脚本运行时机:
默认
结果:遇到< script >脚本时必须执行
原因:引入js之初,js是唯一能影响文档内容的方式
效果:默认的同步或阻塞式脚本执行模式
具体描述:文档解析过程中遇到< script >脚本即停止解析和渲染文档,而是立即加载和执行相应的脚本
defer 与async属性
相同点
- 前提:只对使用 src属性的
不同点
- 运行时机:defer等待文档解析,渲染完成后执行 async下载完成后立即执行
- 执行顺序:defer属性的文档将按照文档中的顺序执行,而async(异步)脚本运行顺店无法预料(脚本会在加载完成后立即执行)
补充
- type="module"属性的脚本默认文档加载完华后执行(好像有defer属性)可以用async属性来覆盖这一行为
- 如果不使用 asyn. defer属性,也可以通过将