0

我理论上知道标签之间asyncdefer使用的区别。<script>

async脚本与页面的其余部分异步执行(脚本将在页面继续解析时执行)。

defer当页面完成解析时执行脚本。

但无法理解他们遵循的机制。

我有以下 2 个文件 -1.js1.html.

1.js

alert('Running external JS');

1.html

<html>
    <body>
        <script src="1.js" async></script>
        <script>
            for(var i=0;i<5;i++)
            {
                alert('HTML code1');
            }
        </script>
        <script>
            for(var i=0;i<5;i++)
            {
                alert('HTML code2');
            }
        </script>
    </body>
</html>

html 文件alert首先执行所有语句,然后最后1.js执行脚本,即它的行为类似于我在-tag中使用defer的地方。async<script>

根据我的预期,外部脚本比 HTML 本身中的代码小得多,它应该在alert我正在使用的 HTML 文档中的语句async之间的任何地方触发,但其作用类似于 using 的效果defer

请解释这里发生的事情,如果我错了,请纠正我。

4

0 回答 0