javascript 基础攻关(四)—— 异步和单线程

异步

题目

  1. 同步和异步的区别是什么?分别举一个同步和异步的例子
  2. 一个关于setTimeout的笔试题
  3. 前端使用异步的场景有哪些

什么是异步

  • 同步会阻塞代码执行,异步不会
  • alert是同步,setTimeout不会
console.log(100);
setTimeout(function (argument) {
    console.log(200);
},1000)
console.log(300);

100
300
200 //不阻塞程序运行
console.log(100);
alert(200);
console.log(300);

100
200 //同步,阻塞运行
300

何时需要异步

  • 在可能发生等待的情况
  • 在等待过程中不能像alert一样阻塞程序运行
  • “需要等待”的情况使用异步

前端使用异步的场景

  • 定时任务:setTimeout``setInverval
  • 网络请求:ajax请求,动态<img>加载
  • 事件绑定��

解答

  1. setTimeout面试题
console.log(1);
setTimeout(function (argument) {
    console.log(2);
},0)
console.log(3);
setTimeout(function (argument) {
    console.log(4);
},1000)
console.log(5);
1
3
5
2
4
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容