同步和异步的区别是什么?
- 同步会阻塞代码执行,而异步不会
- alert是同步,setTimeout是异步
前端使用异步的场景有哪些?(需要等待)
- 定时任务:setTimeout,setInterval
- 网络请求:ajax请求,动态<img>加载
- 事件绑定
//ajax请求代码 console.log('start') $.get('./data1.json',function(data1){ console.log(data1) }) console.log('end')
//<img>加载 console.log('start'); var img=document.creatElement('img'); img.onload=function(){ console.log('loaded');//需要等待 } img.src='/xxx.png'; console.log('end');
//事件绑定 console.log('start') document.getElementById('btn1').addEventListener('click',function(){ alert('clicked') }) console.log('end')
单线程