关于如下案例,大家来猜测一下执行的结果是什么?
JavaScript
console.log(1)setTimeout(()=>{ console.log(2)}, 0)console.log(3)
经过测试我们可以知道输出的结果是1,3,2而不是1,2,3;这是什么原因造成的呢?
第一点就是要为大家引出单线程的概念了,JavaScript是一种单线程语言,也就是说在一个线程上只能运行一个任务;
大家也可以理解为只有一个人在处理当前的任务,如果任务太多,只能按照顺序排队处理,因为这个人同时只能干一件事情;