JS同步和异步(小白简单上手)

看了很多博客,总结以下。有不对的,欢迎提意见。

分为几点:
1、JS是单线程的。即一件事情完成后,才能做后续的事情。期间不能进行任何操作
2、同步:顺序执行。
3、异步:同步全部执行完了再执行。
4、为什么要分同步异步?因为JS是单线程的,一个一个依次执行。举个例子:发请求,网速慢的情况,肯定半天都卡死在这,所以ajax发请求被归为异步。即等那些稳定的同步操作都快速执行完了,再来执行
5、async await 与 Promise 的作用? 都是优化异步的,作用一样,写法不同。就是因为异步不稳定,怕异步卡住了,所以我们日常代码中发起异步请求都会用他们优化一下。也是避免异步嵌套

前端开发哪些是异步?

  • 定时器(setTimeout、setInterval)
  • 事件
  • ajax、axios
  • 回调函数

来个简单实操

    setTimeout(function () {
     
      console.log(0);
    }, 10);
    setTimeout(function () {
     
      console.log(1);
    }, 0);
    console.log(2);
    console.log(3);
    console.log(4);

那么打印顺序?  2 3 4 1 0
显然同步全部执行完了才执行异步 

你可能感兴趣的:(前端)