JS事件循环机制

  • A+
所属分类:Web前端
摘要

(1)JavaScript语言最大的一个特点就是单线程,也就是说,同一时间只能做一件事情,(非阻塞),执行代码的时候只有一个主线程来处理所有任务;


JS事件循环机制总结

JS事件循环设计的原因

(1)JavaScript语言最大的一个特点就是单线程,也就是说,同一时间只能做一件事情,(非阻塞),执行代码的时候只有一个主线程来处理所有任务;

(2)JavaScript的单线程与它的用途有关,JavaScript作为浏览器脚本语言,JavaScript主要用途是与用户交互,以及DOM操作(JavaScript对DOM节点的操作包括访问,创建,添加,删除,替换,插入,复制,移动等),这就决定了JavaScript只能是单线程(如果是多线程的话,那么可能出现在同一时间对一个DOM中的节点进行不同的操作的话,就会出现问题,问题就会变得很复杂)—HTML5允许JavaScript脚本创建多个线程,但是子线程完全受主线程的控制;

(3)

JS事件循环中术语概念

(1)执行栈

(2)任务队列

(3)宏任务和微任务

JS事件循环的实现细节