1.defer 异步加载,要等到dom文档全部解析完成之后才会执行
2.async 异步加载,只要js文件加载完就执行,只能加载外部链接的js文件
3.按需加载
<!-- 按需加载 -->
<script type="text/javascript">
function asyncLoaded(url,callback){
var script = document.createElement("script");
// script.src = url; 假如说网速非常好,直接执行完成了,后面就监听不到状态的改变了
if(script.readyState){
script.onreadystatechange = function(){
if(script.readyState == "complete" || script.readyState =="loaded"){
// 执行某个函数
callback()
}
}
}else{
script.onload = function(){
// 执行某个函数
callback()
}
}
script.src = url; //异步的过程
document.head.appendChild(scr