异步加载也叫非阻塞模式加载,浏览器在下载js的同时,还会执行后续的页面处理.
何时需要异步
1 需要等待的情况
2 在等待过程中不能像alert一样阻塞程序运行
3 等待的情况需要异步
使用场景
1、settimeout,setInterval
console.log(10)
settimeout(function(){
console.log(20)
},1000);//异步执行,非阻塞不妨碍后续代码的执行
console.log(30)//执行结果 10,30,20
2、网络请求ajax加载动态img
console.log(10);
var img = document.creatElement('img');
img.onload = function(){
console.log(20)
}
img.src='http://abs/group/12123.jpg'
document.body.append(img)
console.log(30) //10,30,20图片的加载是异步的
3、事件的绑定
console.log(10); document.getElementById("btn").addEventListener("click",function(){ console.log(20); }); console.log(30); //执行顺序是10 ,30 如果点击才执行20 如果不点永远不执行 也是异步的