本站资源是站长搜集整理而成,版权均归原作者所有,若无意中侵犯到您的版权利益,请来信联系我们删除! 本站所有资源只用于研究学习,不得作为商业用途、非法谋取暴利,否则,一切后果均由自己承担!

首页 > 文档

理解浏览器中的 EventLoop

  • slbcun
  • 2024-05-30
  • 1497 ℃

我会先讲解浏览器端的 Eventloop 的运行机制,待你对浏览器端有了一定的理解之后,再带你设计一些 Node.js 的 Eventloop 的底层逻辑。你可以发现,无论是浏览器端还是服务端,都在使用 Eventloop,虽然两者机制不同,但都利用了 JavaScript 语言的单线程和非阻塞的特点。希望你能扎实地掌握这部分内容,因为这对你在工作中编写高性能的 JavaScript 代码有所帮助。

那么依照惯例,在课程开始前请你先思考两个问题:

浏览器端的 Eventloop 起到了什么作用?

Node.js 服务端的 Eventloop 的作用又表现在哪?

现在开始跟着我一起探究浏览器端的 Eventloop 吧。

浏览器的 Eventloop

Eventloop 是 JavaScript 引擎异步编程背后需要特别关注的知识点。JS 在单线程上执行所有操作,虽然是单线程,但是能够高效地解决问题,并能给我们带来一种“多线程”的错觉,这其实是通过使用一些比较合理的数据结构来达到此效果的。我们一起来看下 JavaScript 引擎背后都有哪些东西在同时运转。

1.调用堆栈(call stack)负责跟踪所有要执行的代码。每当一个函数执行完成时,就会从堆栈中弹出(pop)该执行完成函数;如果有代码需要进去执行的话,就进行 push 操作


文章评论 (0)

    • 这篇文章还没有收到评论,赶紧来抢沙发吧~


Top