1.什么是异步,异步和同步的区别
1.异步: 异步加载也叫非阻塞性加载,在需要等待的时候会继续执行它后面的程序
console.log(100);
setTimeout(()=>{
console.log(200)
}, 1000)
console.log(300);
2.同步:js是单线程执行,同步执行当遇到需要等待当线程它会等待它执行完成才会执行下一个,也就是会出现阻塞的情况
console.log(100);
alert(200) // 1秒后点击确认
console.log(300);
2.前端什么时候需要使用异步
1.定时任务 setTimeout, setInterval
2.网络请求: ajax请求,动态<img>加载
3.事件绑定
面试设计到的问题
1.同步和异步的区别是什么?分别举一个同步和异步的例子
同步会阻塞代码执行,而异步不会
alert是同步,setTimeout不会
2.一个关于setTimeout的笔试题
console.log(1);
setTimeout(()=>{
console.log(2)
}, 0)
console.log(3);
setTimeout(()=>{
console.log(4)
},1000)
console.log(5)
// 1,3,5,2,4
3.前端使用异步的场景有哪些
上面提过了,这里就不重复了。