查看JavaScript正在创建的主题?

有没有办法看到JavaScript正在创建的“线程”? 例如,如果我有一个附加到DOM元素的事件处理程序,我假设JavaScript会隐式地创建一个新线程来在后台运行该代码? 如果是这样,有没有办法看到(例如通过Firebug,WebKit检查器等)JavaScript打开的不同“线程”? (如果它不是JavaScript正在使用的线程,那么事件处理程序如何在“幕后”工作?)

JavaScript不会创建线程。 底层浏览器可能在其自己的线程环境中处理事件,然后导致JavaScript解释器运行处理程序,但JavaScript中没有线程访问,浏览器的工作方式是特定于实现的。

JavaScript不会创建新线程,它会在浏览器中运行。 你无法真正看到这些信息。 你可以使用一个分析器,但我不确定是否可以回答你的问题

使用此工具,看看它是否达到了您想要的效果: 视觉事件

JavaScript是“单线程”,所有执行都是线性的(尽管我们不知道底层引擎是如何工作的)。

异步操作是基于事件的(DOM事件,Ajax调用,WebWorkers),因此其处理程序的执行会附加到调度程序队列 – 它们只会在当前执行完成时执行。 这就是无法从外部停止无限循环的原因 – 它们只会冻结浏览器(并最终抛出long-running scriptexception)。

它与超时( W3 Timer规范 )相同,它们在活动定时器列表中添加任务。 您可以在Web-App API的处理模型规范中阅读有关此类任务队列的更多信息。