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请求,动态加载
  • 事件绑定��

解答

  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

你可能感兴趣的:(javascript 基础攻关(四)—— 异步和单线程)