◼ Node中给我们提供了一些全局对象,方便我们进行一些操作:
这些全局对象,我们并不需要从一开始全部一个个学习;
某些全局对象并不常用;
某些全局对象我们会在后续学习中讲到;
✓ 比如module、exports、require()会在模块化中讲到;
✓ 比如Buffer后续会专门讲到;
特殊的全局对象
◼ 为什么我称之为特殊的全局对象呢?
这些全局对象实际上是模块中的变量,只是每个模块都有,看来像是全局变量;
在命令行交互中是不可以使用的;
包括:__dirname、__filename、exports、module、require()
◼ __dirname:获取当前文件所在的路径:
注意:不包括后面的文件名
◼ __filename:获取当前文件所在的路径和文件名称:
注意:包括后面的文件名称
常见的全局对象
◼ process对象:process提供了Node进程中相关的信息:
比如Node的运行环境、参数信息等;
后面在项目中,我也会讲解,如何将一些环境变量读取到process 的env 中;
◼ console对象:提供了简单的调试控制台,在前面讲解输入内容时已经学习过了。
更加详细的查看官网文档:https://nodejs.org/api/console.html
◼ 定时器函数:在Node中使用定时器有好几种方式:
setTimeout(callback, delay[, ...args]):callback在delay毫秒后执行一次;
setInterval(callback, delay[, ...args]):callback每delay毫秒重复执行一次;
setImmediate(callback[, ...args]):callbackI / O事件后的回调的“立即”执行;
✓ 这里先不展开讨论它和setTimeout(callback, 0)之间的区别;
✓ 因为它涉及到事件循环的阶段问题,我会在后续详细讲解事件循环相关的知识;
process.nextTick(callback[, ...args]):添加到下一次tick队列中;
✓ 具体的讲解,也放到事件循环中说明;
global对象
global和window的区别