有很多关于如何async
以及如何defer
影响加载时间和外部脚本执行开始的文档,但是我找不到脚本完成执行时提到的任何内容。
例如,假设外部脚本定义了函数one()
、two()
、three()
和four()
:
<head>
…
<script async="async" src="…"></script>
…
</head>
<body>
…
<script> window.onload="one()" </script>
…
<script> two() </script>
</body>
<script> three() </script>
</html>
<script> four() </script>
外部脚本开始与 HTML 并行加载,然后在加载后立即执行。
我很确定这two()
是不现实的,因为它在被调用时可能是未定义的,但我不知道其他人。
是否有任何函数在被调用时保证可用?