核心模块, 是node中自带的模块,可以在node中直接使用
目录
- 1. `process(对象)`
- 1.1`process.exit()`
- 1.2`process.nextTick(callback: Function, ...args: any[])`
- 2.`宿主对象`
- 2.1浏览器宿主对象window
- 2.2node宿主对象global
- 2.3ES标准下,全局对象的标准名globalThis
1. process(对象)
- 表示当前的node进程
- 通过该对象可以
获取进程信息
,或者对进程做各种操作。- 如何使用
process是一个全局变量,可以直接使用
- 如何使用
1.1process.exit()
-结束当前进程,终止node
// 本应输出四个1,却输出两个
console.log(1)
console.log(1)
process.exit()//已终止进程,后面代码不再运行
console.log(1)
console.log(1)
1.2process.nextTick(callback: Function, ...args: any[])
可以把它理解为微任务队列,但是它的执行在微任务队列前面,在微任务队列还没被发明出来时,一直用的都是它,可以说微任务队列就是nextTick的Promix。
调用顺序:调用栈>Tick队列>微任务队列>宏任务队列
// 执行结果是14253
console.log(1)
queueMicrotask(() => { console.log(5) })
process.nextTick(() => { console.log(2) })
setTimeout(() => { console.log(3) }, 1000)
console.log(4)
2.宿主对象
2.1浏览器宿主对象window
console.log(window)
// console.log(global)
// console.log(globalThis)
终端提示window未定义
2.2node宿主对象global
我们尝试输入globalThis和global
// console.log(window)
console.log(global)
console.log(globalThis)
结果发现俩对象完全一样。
2.3ES标准下,全局对象的标准名globalThis
即(globalThis === window && globalThis === global)
我们在浏览器输出globalThis
发现输出了window。