美文网首页
js的理解

js的理解

作者: 简公孙策 | 来源:发表于2019-12-27 11:56 被阅读0次

      js的执行,一个文件不管链接了多少个js文件,在载入执行的时候,都是按先后载入依次执行(js是单线程的):先执行同步代码,遇到异步代码会先被放置到内存中的事件池中,待同步代码全部执行完成后,再从事件池中调取满足条件的异步代码依次执行(先进先出),同时满足条件的按照先进先出的顺序执行;所谓异步代码,还分宏任务队列和微任务队列:
    ——宏任务MacroTask:比较大、耗时的任务,setTimeout、setInterval、setImmediate(IE独有)……
    ——微任务MicroTask:小、不太耗时的任务,promise、MutationObserver、process.nextTick(node独有)
      在浏览器运行环境中,同步代码执行完成后,先去微任务队列找符合执行条件的微任务执行,符合条件的微任务全部执行完成后,去宏任务队列找符合条件的宏任务执行,每执行完一个宏任务,再去微任务队列找符合执行条件的微任务执行,将符合执行条件的微任务清空一遍,这样循环执行。
      在node运行环境中,没有微任务队列,但可以理解成有一个微任务池,而宏任务有六大队列

    相关文章

      网友评论

          本文标题:js的理解

          本文链接:https://www.haomeiwen.com/subject/curroctx.html