HTML5新增,通过给外部脚本添加async告诉浏览器,如果支持的话,异步执行该代码。无法让inline 脚本异步执行
另一种方式(这样动态创建的默认为async):
var script = document.createElement('script');
script.src = "file.js";
document.body.appendChild(script);
这样也可以:
var blob = new Blob([codeString]);
var script = document.createElement('script');
script.src = URL.createObjectURL(blob);
document.body.appendChild(script);
下面两种不是异步的,都属于inline范畴:
<script async>code</script>
var script = document.createElement('script');
script.innerHTML = "code"; //用eval 或者 innerHTML 结果都是同步执行
document.body.appendChild(script);