这篇只是说一下异步和同步区别,JS是单线程,何时使用到了异步三道简单的面试题
1. 同步和异步的区别,分别列举一个同步和异步的例子
同步会阻塞代码,但是异步不会
alert是同步
setTimeout是异步
2. 关于setTimeout的笔试题
console.log(1);
setTimeout(function() {
console.log(2);
}, 0);
console.log(3);
setTimeout(function() {
console.log(4);
}, 1000);
console.log(5);
// 输出结果:1,3,5,2,4
3. 前端使用异步的场景
- 定时任务:setTimeout,setInterval
- 网络请求:ajax请求,动态img加载
- 事件绑定
需要等待的情况下都需要异步,因为不会像同步一样阻塞