script加载顺序问题、async或者defer,如果用在2个script中间,那么中间的第一个脚本会提前加载,并不会异步加载

197 阅读1分钟

async或者defer,如果用在2个script中间,那么中间的第一个脚本会提前加载,并不会异步加载

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="f.js"></script>
    <script async src="e.js"></script>
    <script async src="g.js"></script>
    <script async src="i.js"></script>
  </head>
  <body>

    <script src="a.js" type="text/javascript"></script>

  </body>
</html>

image.png

如图e.jsf.jsa.js同时加载的,但是其他的asyncjs会异步加载

中间换成defer或者async都是这样的,这是什么原因呢