我一直想知道 JavaScript 中的事件处理程序如何始终监听后续操作以一次又一次地触发事件,即使在您编写的 JavaScript 代码已被解析之后也是如此。 我曾尝试在线研究,但没有找到任何资源来解释事件监听器如何保持事件状态。
我了解调用堆栈的工作原理,但我只想知道所有事件监听器是如何保持事件状态的。
例如,带有 “click”
事件的 addEventListener
将始终在单击按钮时运行指定的回调。那么addEventListener
方法添加的回调是如何一直保持活跃的呢?
最佳答案
JavaScript 的这种行为通常被描述为“事件循环”。 JavaScript 引擎运行、运行、运行并不断寻找新事件。它将运行直到所有事件处理程序都被分离。现在,如果一个事件被触发,它将最终进入一个事件队列。然后某个时候事件循环从队列中取出事件,并执行它。这将创建一个调用堆栈,如果展开,循环将继续。
关于javascript - JavaScript 中的所有事件监听器如何保持事件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56376508/