JavaScript — 运行机制
2021/8/5 11:06:15
本文主要是介绍JavaScript — 运行机制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
单线程
js是单线程,为了防止一个函数执行时间过长阻塞后面的代码。会先将同步代码放入执行栈中,再执行nextTick,再将异步代码加入异步队列中,异步队列分为微队列(Promise.then),宏队列(setTimeout ,setInterval,ajax,读取文件),然后再setImmediate
js执行步骤
- 同步(promise内部的执行也是同步)
- process.nextTick
- 微任务(Promise.then)
- 宏任务(setTimeout ,setInterval,ajax,读取文件)
- setImmediate(计数器放在运行栈内,第一次栈内的事情循环加载完后就会触发)
例子: setImmediate(()=>{ console.log(1) }) console.log(2) setTimeout(()=>{console.log(3)},0)//第一次放入任务队列中,事件循环加载,然后走setImmediate setTimeout(()=>{console.log(4)},100)//100毫秒后第二次放入任务队列中,所以这个打印在setImmediate后 console.log(5) new Promise((resolve)=>{ console.log(6) // 同步 resolve() // 加这个,promise才会走then方法 }).then(()=>{ console.log(7) }) process.nextTick(()=>{ console.log(8) }) 输出:2、5、6、8、7、3、1、4
这篇关于JavaScript — 运行机制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南