async 和 defer 属性的区别


  • async
    • 异步加载:加载过程不会阻塞文档解析
    • 外部脚本:只能用于外部脚本
    • 执行时机:加载完立即执行,同时打断文档解析
    • 执行顺序:无法保证多个脚本的执行顺序,取决哪个脚本先加载完
  • defer
    • 异步加载:加载过程不会阻塞文档解析
    • 外部脚本:只能用于外部脚本
    • 执行时机:文档解析完再执行脚本
    • 执行顺序:多个脚本按照加载顺序执行