js能力提高(四) 异步和单线程

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.前端使用异步的场景有哪些

上面提过了,这里就不重复了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值