Node.js中的全局对象有哪些?有什么用?

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

Node.js中的全局对象有哪些?有什么用?

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

浏览器中的的全局对象就是windowNode 中的全局对象就是global

下面让我们看看 Node 的全局对象具体有哪些? 这些对象又有什么用?【推荐学习:《nodejs 教程》】

如何获取全局对象

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

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:MyCodeGiteeLearning.Nodegeek-nodejs8index.js// 当前代码所运行的脚本目录console.log(__dirname);// D:MyCodeGiteeLearning.Nodegeek-nodejs8

登录后复制

console.log(process);

登录后复制

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2710879.html

(0)
上一篇 2025年3月7日 20:57:47
下一篇 2025年2月18日 12:23:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论