您的位置:首页 > Web前端 > JavaScript

JS 引擎执行机制

2018-07-24 15:03 363 查看

JS

  1. JS 是单线程语音
  2. JS 的 Event Loop 是 JS 的执行机制。类似于 Android Handler 消息分发机制

JS 单线程

  • 技术的出现都跟现实世界里的应用场景密切相关
  • JS 单线程 JS 最初被设计用在浏览器中,相当于在 UI 线程,设计成多线程就涉及到同步的问题,很复杂,假如不同步的话, UI 线程就不安全。所以设计成了单线程
  • JS 为什么需要异步
      JS 因为是单线程的,可以在 IO 等操作,但是因为是耗时操作,所以会出现卡死的情况,所以为了不影响用户体验,所以需要设计成异步
  • JS 单线程如何实现异步
      JS 通过事件循环(Event Loop),实现异步,类似于 Android Handler , Looer , MessageQueue 机制

    宏任务和微任务

    • 宏任务:包括整体代码 script,setTimeout, setInterval
    • 微任务:Promise, process.nextTick

    参考: https://mp.weixin.qq.com/s/8_GqWtndTxHoALhTngWglw

  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: