大学生必备知识:JS循环机制

以下是我对JS循环机制的认知!

浏览器环境下JS引擎的Event Loop(事件循环)机制

运行栈:同步 

任务队列:异步

事件循环: 先运行栈后运行任务队列,然后再运行栈然后再运行任务队列 一直循环

异步分类:

宏任务:计时器,ajax,读取文件(node里面的fs模块)

微任务:promise.then

执行顺序:

1.同步程序

2.process.nextTick(一次事件循环的运行栈和任务队列之间)

3.微任务

4.宏任务

5.setImmediate(一次事件循环任务队列后)

(1).先执行同步代码

(2).遇到异步宏任务放到宏任务队列中

(3).遇到异步微任务放到微任务队列中

(4).当所有的同步代码执行完毕后,再将异步微任务从微任务队列中调入到主线程执行

(5).微任务执行完毕后,再将异步宏任务从宏任务队列中调入到主线程执行

(6).一直按上循环直到执行完毕

  for (var i = 0; i <= 3; i++) {
        setTimeout(() => {
            console.log(i+'宏');
        }, 1000);
    }
    console.log(i);
    var i = 10;
//var i
//执行for循环 然后遇到setTimeout放到宏任务队列中
//然后此时i = 4
//执行consolo.log(i)
//执行i = 10  预定义
//然后等到1秒后直接出现4个 10宏  至于怎么样改变最后成0,1,2,3,再后面两章会写!

emm...最近病更严重了!气死!!!

每天疼到凌晨1点才能睡着,大家都要好好保护好自己的身体!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今天也在努力学

很感谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值