JS的执行机制

JS执行机制

1、先执行执行栈中的同步任务

2、异步任务(回调函数)放入任务队列中

3、一旦执行栈中的所有同步任务执行完毕,系统就会按顺序读取任务队列中的异步任务,于是被读取的异步任务结束等待状态,进入执行栈,开始执行

案例:

    <script>
      console.log(1);
    
      setTimeout(() => {
        console.log(3);
      }, 0);
    
      console.log(2);
    
    </script>

输出结果为:

1

2

3

定时器设置的时间为0,为什么输出的结果不是 1 3 2呢。

分析:
js会将所有的代码放入到执行栈中先执行,其中类似于setTimeout()中的回调函数会被提取到任务队列,js会将执行栈中的代码执行完毕后,再将任务队列中的任务放入到执行栈中执行。所以输出的结果为:1 2 3

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值