美文网首页
JS的执行机制

JS的执行机制

作者: en_young | 来源:发表于2019-07-27 09:18 被阅读0次

如果有多个异步任务的时候呢?

1、首先还是将所有的任务分为同步任务与异步任务,如图一:

图1

2、首先打印出1,然后遇到第一个异步任务的时候,会将该行代码提交给异步进程处理,如果点击了,才会将回调函数写入任务队列,如果不点击,就不会写入任务队列中去。

3、如果不点击,那么继续执行,打印出2,然后遇到下一个异步任务,将该行代码提交给异步进程处理,等到3秒后才会将回调函数写入任务队列中。此时程序会再次查看任务队列,然后发现队列中的回调函数,将其放入执行栈中,执行,打印出3;

4、如果此时点击,就会将点击的回调函数添加至任务队列,同步任务完成后,还会回到任务队列中查看是否有新的任务,此时发现有点击的回调函数,就会将其放入执行栈中,执行点击。(当然如果是在3秒之前点击的,当然会先输出click)

此时任务队列中为空,但是同步任务执行完仍然会重复来查看任务队列中是否有新的任务,这个循环就叫做“事件循环”。

总结如下(图3):

图3

相关文章

  • js引擎的执行机制

    js引擎的执行机制 JS的Event Loop是JS的执行机制,理解JS的执行,必须理解Event Loop JS...

  • js执行机制

    js执行机制

  • js定时器

    从JS执行机制说起 浏览器(或者说JS引擎)执行JS的机制是基于事件循环。 由于JS是单线程,所以同一时间只能执行...

  • js执行机制

    JavaScript的一个语言特性(也是这门语言的核心)就是单线程。什么是单线程呢?简单地说就是同一时间只能做一件...

  • JS执行机制

    前言 在稀土掘金上看到这一次,彻底弄懂 JavaScript 执行机制和从浏览器多进程到JS单线程,JS运行机制最...

  • JS执行机制

    1.JS本质是单线程执行任务,但是单线程效率不高,所以将任务分成了同步任务和异步任务。 >(PS:单线程就像银行只...

  • JS执行机制

    一直以来,对JS的执行机制都是模棱两可,知道今天看了文章—《这一次,彻底弄懂JavaScript执行机制》和《Ev...

  • js执行机制

    面试官老喜欢出这种题目问你,请说下这段代码的输出,其中就会有坑,之所以说是坑是因为你不了解,懂了就是云淡风轻,不懂...

  • js执行机制

    JavaScript执行机制,重点有两点: 1.JavaScript是一门单线程语言。2.Event Loop(事...

  • JS执行机制

    引言 众所周知,JS自出生之日起就被设定为了一门单线程的语言,所谓单线程就是指任务执行的顺序需要一个接一个,如果其...

网友评论

      本文标题:JS的执行机制

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