首页 > 解决方案 > JavaScript 中的所有事件侦听器如何保持活动或活动状态?

问题描述

我一直想知道,即使在您编写的 JavaScript 代码已被解析之后,JavaScript 中的事件处理程序如何始终监听后续操作以一次又一次地触发事件。我试图在网上进行研究,但我没有找到任何资源来解释事件侦听器如何保持活跃或活跃。

我了解调用堆栈的工作原理,但我只想知道所有事件侦听器如何保持活动或活动状态。

例如addEventListener"click"如果单击按钮,事件将始终运行指定的回调。那么方法添加的回调如何addEventListener始终保持活动或活动状态?

标签: javascriptnode.jsevent-handlingaddeventlistenerdom-events

解决方案


JavaScript 的这种行为通常被描述为“事件循环”。JavaScript 引擎运行、运行、运行并不断寻找新事件。它将一直运行,直到所有事件处理程序都被分离。现在,如果一个事件被触发,它将最终进入一个事件队列。然后某个时候事件循环将事件从队列中取出,并执行它。这将创建一个调用堆栈,如果展开,则循环继续。


推荐阅读