如:
<script async src="js/cm.js" onload="load()"></script>
async 表示异步方式运行,一旦下载完成就开始执行(在window的onload之前),这意味着这些script 可能不会按它们出现在页面中的顺序来执行,如果你的脚本互相依赖并和执行顺序相关,就有很大的可能出问题,例如变量或者函数未定义之类的错误。
<script defer src="js/cm.js" onload="load()"></script>
而对于带有defer的script,它们会确保按在页面中出现的顺序来执行,它们执行的时机是在页面解析完后,但在DOMContentLoaded事件之前。