1,defer:
按照JS文件顺序下周,支持同时下载JS文件和解析HTML,但是不会马上执行JS,要等到HTML解析完后,加载完JS文件后,才开始执行。
即在DOMContentLoaded前才执行,而且是按照JS文件出现顺序执行。
2,async:
也是异步加载JS文件,支持多个JS文件同步时下载,但是执行时机可能是DOMContentLoaded前面或者是后面,即解析HTML时也可能执行加载完成的JS文件,所以async加载的JS文件的执行顺序不确定,而是谁先加载完谁执行,但肯定是在页面的Load事件之前执行
3,如果两个属性都不加
遇到JS文件马上加载,马上执行,阻塞HTML解析
Leave a Reply