异步的 JavaScript:浅析浏览器事件循环

JavaScript 采用严格单线程的工作方式。这意味着 JavaScript 没有创建多个子线程进行异步任务的功能。但事实往往并非如此简单。在使用 JavaScript 开发时,我们也许会发现 JavaScript 的确能够实现异步。这背后的原因,与 JavaScript 采用的事件处理机制有关。这种机制被称为“事件循环”。在详尽阐释事件循环是什么之前,笔者希望您明白为什么 JavaScript 要采用单线程工作。 我们为何需要理解浏览器事件循环 浏览器事件循环是非常底层的知识。尽管我们在工作中并不是必须了解它。但是,要知道 JavaScript 是一种以事件驱动的语言——如果观察仔细的话,您一定能在您的代码中发现事件处理程序的存在,无论您是有意识地还是无意识地。因此,理解浏览器事件循环的工作原理似乎就显得十分必要,因为只有了解浏览器如何处理各种事件和任务,我们才能更好、更完美地使用事件驱动的方式编写更高质量的代码。 JavaScript 为何采用单线程 自互联网被发明以来,随着逐年增加的互联网用户的涌入,单纯的 HTML 和 CSS 已经无法满足用户日益复杂的需求。因此,当年的网景公司(Netscape Communications…