📅  最后修改于: 2023-12-03 14:44:43.054000             🧑  作者: Mango
在Node.js环境中,有一些常用的全局对象,它们是Node.js在启动时自动创建的,可以在任何地方直接使用。下面我们来介绍一下这些常用的全局对象。
global
是Node.js环境中最顶层的对象,它类似于浏览器环境中的window
对象。我们可以在任何地方直接使用global
变量。例如:
console.log(global);
输出结果为:
Object [global] {
global: [Circular],
clearInterval: [Function: clearInterval],
clearTimeout: [Function: clearTimeout],
setInterval: [Function: setInterval],
setTimeout: [Function: setTimeout] {
[Symbol(nodejs.util.promisify.custom)]: [Function]
},
queueMicrotask: [Function],
clearImmediate: [Function: clearImmediate],
setImmediate: [Function: setImmediate] {
[Symbol(nodejs.util.promisify.custom)]: [Function]
}
}
上面的输出结果中,我们可以看到global
对象中包含了一些常见的全局函数,例如setInterval
和setTimeout
等。
需要注意的是,尽管在Node.js环境中可以直接使用global
变量,但最好还是不要在代码中直接操作global
对象,这样做会导致代码的可维护性变差。
process
对象是一个全局变量,它提供了有关当前Node.js进程的信息和控制。我们可以通过process
对象来访问命令行参数、获取环境变量等信息。例如:
console.log(process.argv); //输出命令行参数
console.log(process.env); //输出环境变量
console
对象是一个用于调试的全局对象,它提供了很多有用的方法,例如console.log
、console.error
和console.warn
等。我们可以使用console
对象来输出一些调试信息,例如:
console.log('Hello, Node.js!'); //输出文本信息
console.error('Error message'); //输出错误信息
console.warn('Warning message'); //输出警告信息
module
对象是当前模块的信息,它是一个包含当前模块路径、导出对象等信息的对象。在Node.js中,每个文件都被视为一个独立的模块,因此我们可以通过module
对象来获取当前模块的信息。例如:
console.log(module.filename); //输出当前模块文件路径
console.log(module.exports); //输出当前模块的导出对象
exports
对象是module.exports
的一个引用,它可以用来向外暴露模块中的变量或函数。例如:
exports.foo = 'Hello, Node.js!'; //向外暴露变量
exports.bar = function () { //向外暴露函数
console.log('Hello, bar!');
};
__dirname
变量表示当前模块所在文件夹的绝对路径。例如:
console.log(__dirname); //输出当前模块所在文件夹的绝对路径
__filename
变量表示当前模块文件的绝对路径。例如:
console.log(__filename); //输出当前模块文件的绝对路径
以上是Node.js中常用的全局对象,它们可以帮助我们更好的开发和调试Node.js程序。当然,Node.js还有很多其他的全局对象和模块,我们在使用的过程中需要进行深入学习和研究。