Node.js全局对象有哪些及其作用是什么?

更新于
2026-09-29 05:52:19
3阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1145个文字,预计阅读时间需要5分钟。

Node.js全局对象有哪些及其作用是什么?

本章节带大家了解Node.js中的全局对象,看看Node.js中有哪些全局对象,这些全局对象有什么作用,怎么使用。所谓全局对象,就是可以直接访问的对象,例如浏览器中的`window`。

Node.js全局对象有哪些及其作用是什么?

以下是Node.js中一些常见的全局对象及其作用:

1. `process`:代表当前Node.js进程,可以获取进程信息,如进程ID、环境变量等,还能进行进程控制,如退出进程、设置环境变量等。

2.`console`:用于在控制台输出信息,包括普通输出、错误输出等。

3.`require`:用于加载模块,是Node.js的核心功能之一。

4.`exports`:用于导出模块中的变量或函数,是模块间通信的方式之一。

5.`module`:代表当前模块,包含模块信息,如模块路径、导出对象等。

接下来,让我们一起学习这些全局对象吧!

本篇文章带大家了解一下Node.js中的全局对象,看看Node.js中有哪些全局对象,这些全局对象有什么用?怎么用?一起来学习吧!

所谓全局对象,就是可以直接访问的对象,比如

  • 浏览器中的的全局对象就是window
  • Node 中的全局对象就是global

下面让我们看看 Node 的全局对象具体有哪些? 这些对象又有什么用?

如何获取全局对象

在某些老项目中,我们可能看到这样的代码片段

const getGlobalThis = () => { // 在 webworker 或 service worker 中 if (typeof self !== "undefined") return self; // 在浏览器中 if (typeof window !== "undefined") return window; // 在 Node.js 中 if (typeof global !== "undefined") return global; // 独立的 JavaScript shell if (typeof this !== "undefined") return this; throw new Error("Unable to locate global object"); }; const theGlobalThis = getGlobalThis(); if (typeof theGlobalThis.setTimeout !== "function") { // 此环境中没有 setTimeout 方法! }

这是因为各个 JS 环境获取全局对象的方式都是不同的,所以通过封装了一个getGlobalThis来统一获取所有环境的全局对象

但是自从 ES13 特性出现后,支持使用globalThis 这种标准的方式来获取不同环境下的全局 this 对象(也就是全局对象自身)

if (typeof globalThis.setTimeout !== "function") { // 此环境中没有 setTimeout 方法! }

与浏览器相似的全局变量

Node.js 的全局变量与 Chrome 有一些差点,但也有很多类似的

我们启动一个简易的 Node 项目,然后打印如下的东西,看看能否正常输出

  • Date 对象 ✅

console.log(Date); // [Function: Date]

  • Math 对象 ✅

console.log(Math); // Object [Math] {}

  • setTimeout 对象 ✅

console.log(setTimeout); /* [Function: setTimeout] { [Symbol(nodejs.util.promisify.custom)]: [Function] } */

  • setInterval 对象 ✅

console.log(setInterval); // [Function: setInterval]

  • setImmediate 对象 ✅

console.log(setImmediate); /* [Function: setImmediate] { [Symbol(nodejs.util.promisify.custom)]: [Function] } */

  • requestAnimationFrame 对象 ❌

requestAnimationFrame代表浏览器渲染的下一帧,所以在服务端环境是不存在的

// 浏览器渲染的下一帧,所以在服务端环境中是不存在的 console.log(requestAnimationFrame); // ReferenceError: requestAnimationFrame is not defined

Node.js 特有的全局变量

// 当前代码所运行的脚本位置 console.log(__filename); // D:\MyCode\Gitee\Learning.Node\geek-nodejs\08\index.js // 当前代码所运行的脚本目录 console.log(__dirname); // D:\MyCode\Gitee\Learning.Node\geek-nodejs\08

console.log(process);

version: Node.js 版本号platform , arch: 运行环境的操作系统kill , exit : 用于管理,或者杀进程的操作hrtime: 用于统计时间,可以精确到微秒级cpuUsage: CPU 占用率resourceUsage: 内存占用率env: Node 的环境变量,作用:可以设置环境变量,以便在不同的开发中使用argv:用户在启动程序时,敲击的命令是怎样的, 作用:命令行程序中使用 ........................

更多编程相关知识,请访问:编程入门!!

以上就是Node.js中的全局对象有哪些?有什么用?的详细内容,更多请关注自由互联其它相关文章!

本文共计1145个文字,预计阅读时间需要5分钟。

Node.js全局对象有哪些及其作用是什么?

本章节带大家了解Node.js中的全局对象,看看Node.js中有哪些全局对象,这些全局对象有什么作用,怎么使用。所谓全局对象,就是可以直接访问的对象,例如浏览器中的`window`。

Node.js全局对象有哪些及其作用是什么?

以下是Node.js中一些常见的全局对象及其作用:

1. `process`:代表当前Node.js进程,可以获取进程信息,如进程ID、环境变量等,还能进行进程控制,如退出进程、设置环境变量等。

2.`console`:用于在控制台输出信息,包括普通输出、错误输出等。

3.`require`:用于加载模块,是Node.js的核心功能之一。

4.`exports`:用于导出模块中的变量或函数,是模块间通信的方式之一。

5.`module`:代表当前模块,包含模块信息,如模块路径、导出对象等。

接下来,让我们一起学习这些全局对象吧!

本篇文章带大家了解一下Node.js中的全局对象,看看Node.js中有哪些全局对象,这些全局对象有什么用?怎么用?一起来学习吧!

所谓全局对象,就是可以直接访问的对象,比如

  • 浏览器中的的全局对象就是window
  • Node 中的全局对象就是global

下面让我们看看 Node 的全局对象具体有哪些? 这些对象又有什么用?

如何获取全局对象

在某些老项目中,我们可能看到这样的代码片段

const getGlobalThis = () => { // 在 webworker 或 service worker 中 if (typeof self !== "undefined") return self; // 在浏览器中 if (typeof window !== "undefined") return window; // 在 Node.js 中 if (typeof global !== "undefined") return global; // 独立的 JavaScript shell if (typeof this !== "undefined") return this; throw new Error("Unable to locate global object"); }; const theGlobalThis = getGlobalThis(); if (typeof theGlobalThis.setTimeout !== "function") { // 此环境中没有 setTimeout 方法! }

这是因为各个 JS 环境获取全局对象的方式都是不同的,所以通过封装了一个getGlobalThis来统一获取所有环境的全局对象

但是自从 ES13 特性出现后,支持使用globalThis 这种标准的方式来获取不同环境下的全局 this 对象(也就是全局对象自身)

if (typeof globalThis.setTimeout !== "function") { // 此环境中没有 setTimeout 方法! }

与浏览器相似的全局变量

Node.js 的全局变量与 Chrome 有一些差点,但也有很多类似的

我们启动一个简易的 Node 项目,然后打印如下的东西,看看能否正常输出

  • Date 对象 ✅

console.log(Date); // [Function: Date]

  • Math 对象 ✅

console.log(Math); // Object [Math] {}

  • setTimeout 对象 ✅

console.log(setTimeout); /* [Function: setTimeout] { [Symbol(nodejs.util.promisify.custom)]: [Function] } */

  • setInterval 对象 ✅

console.log(setInterval); // [Function: setInterval]

  • setImmediate 对象 ✅

console.log(setImmediate); /* [Function: setImmediate] { [Symbol(nodejs.util.promisify.custom)]: [Function] } */

  • requestAnimationFrame 对象 ❌

requestAnimationFrame代表浏览器渲染的下一帧,所以在服务端环境是不存在的

// 浏览器渲染的下一帧,所以在服务端环境中是不存在的 console.log(requestAnimationFrame); // ReferenceError: requestAnimationFrame is not defined

Node.js 特有的全局变量

// 当前代码所运行的脚本位置 console.log(__filename); // D:\MyCode\Gitee\Learning.Node\geek-nodejs\08\index.js // 当前代码所运行的脚本目录 console.log(__dirname); // D:\MyCode\Gitee\Learning.Node\geek-nodejs\08

console.log(process);

version: Node.js 版本号platform , arch: 运行环境的操作系统kill , exit : 用于管理,或者杀进程的操作hrtime: 用于统计时间,可以精确到微秒级cpuUsage: CPU 占用率resourceUsage: 内存占用率env: Node 的环境变量,作用:可以设置环境变量,以便在不同的开发中使用argv:用户在启动程序时,敲击的命令是怎样的, 作用:命令行程序中使用 ........................

更多编程相关知识,请访问:编程入门!!

以上就是Node.js中的全局对象有哪些?有什么用?的详细内容,更多请关注自由互联其它相关文章!