JavaScript栈、任务队列、同步、异步

 2021-04-05    1837  

关于如下案例,大家来猜测一下执行的结果是什么?

JavaScript
console.log(1)setTimeout(()=>{
  console.log(2)}, 0)console.log(3)

经过测试我们可以知道输出的结果是1,3,2而不是1,2,3;这是什么原因造成的呢?

第一点就是要为大家引出单线程的概念了,JavaScript是一种单线程语言,也就是说在一个线程上只能运行一个任务;

大家也可以理解为只有一个人在处理当前的任务,如果任务太多,只能按照顺序排队处理,因为这个人同时只能干一件事情;


版权声明:本文为 “天狐主题” 原创,转载请附上原文出处链接及本声明;

投稿邮箱:1191187600@qq.com

原文链接:https://www.zhutima.com/article/4.html

=========================================

https://www.zhutima.com 主题马(天狐)唯一官方服务平台,请勿相信其他任何渠道的虚假销售。

用户须知
  • 一次付费,终身免费升级主题更新
  • 优质售后,保你无忧
  • 新手无忧,协助解决各种主题问题
热门文章
热门标签