恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

nodejs - 全局变量讲解

  • 首页
  • 资讯中心
  • /
  • nodejs - 全局变量讲解

相关资讯

10-simpool-simbank卡集中管理 2026/8/25 10:19:37
03-技术选型背后的思考:为什么选择Next.js + FastAPI + LangChain 2026/8/25 10:19:37
DLL反编译实战:从二进制黑盒到可读C代码的逆向工程 2026/8/25 10:19:37

最新资讯

自用Android项目框架备份
性能分析-帧渲染跟踪
定档昆明!2026 南亚东南亚国际桥隧边坡展 11 月启幕,800 + 展商齐聚西南交通风口[特殊字符]
Spark缓存持久化终极版
AI项目ROI评估实战指南:从成本收益拆解到价值验证
rsocket-js KeepAlive与Lease完全指南:保活心跳和背压租约的2大核心机制

今日推荐

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南
洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

nodejs - 全局变量讲解

发布时间:2026/8/25 10:19:37
nodejs - 全局变量讲解 文章目录1. 核心概念global 与 globalThis2. 最重要的区别模块作用域3. 真正的全局对象 / 变量4. 看起来像全局其实不是的变量5. 最常用的全局对象process6. 如何正确使用全局变量建议7. 总结在浏览器中全局对象是window在 Node.js 中对应的是global。但 Node.js 的全局变量体系和浏览器有很大区别尤其是在模块作用域方面。1. 核心概念global与globalThis名称说明推荐程度globalNode.js 特有的全局对象旧写法不推荐新代码使用globalThisES2020 标准跨环境统一访问全局对象推荐使用// 两者在 Node.js 中指向同一个对象console.log(globalglobalThis);// true2. 最重要的区别模块作用域在浏览器中vara1;// 自动变成 window.a在 Node.js 中vara1;// 只是当前模块的局部变量不会变成 global.aconsole.log(global.a);// undefined原因Node.js 每个文件都被包装成一个模块函数类似这样(function(exports,require,module,__filename,__dirname){// 你的代码写在这里vara1;// 只在这个函数作用域内});所以想让变量真正变成全局必须显式挂载global.myVar我是全局变量;// 或者globalThis.myVar我是全局变量;其他文件中就可以直接访问console.log(global.myVar);// 我是全局变量3. 真正的全局对象 / 变量以下这些是真正全局可用的不需要 require名称说明global/globalThis全局对象本身console控制台输出process当前进程信息非常常用Buffer处理二进制数据setTimeout/setInterval定时器setImmediate/clearImmediateNode.js 特有的立即执行定时器queueMicrotask微任务队列URL/URLSearchParamsURL 处理TextEncoder/TextDecoder文本编码performance性能相关fetch较新版本网络请求4. 看起来像全局其实不是的变量这些变量只在当前模块内可用并不是真正的全局变量说明__dirname当前文件所在目录的绝对路径__filename当前文件的绝对路径module当前模块对象exportsmodule.exports的快捷方式require引入其他模块的函数console.log(__dirname);// 当前目录路径console.log(__filename);// 当前文件完整路径5. 最常用的全局对象processprocess是 Node.js 中最重要的全局对象之一// 环境变量console.log(process.env.NODE_ENV);console.log(process.env.PATH);// 命令行参数console.log(process.argv);// 当前工作目录console.log(process.cwd());// 退出程序process.exit(0);// 监听退出事件process.on(exit,(code){console.log(进程即将退出退出码,code);});6. 如何正确使用全局变量建议不推荐随便挂全局变量// 不推荐global.config{port:3000};推荐做法使用模块导出最推荐// config.jsmodule.exports{port:3000,dbUrl:mongodb://localhost/test};// 其他文件constconfigrequire(./config);使用环境变量适合配置、密钥// 通过 .env 或系统环境变量设置console.log(process.env.DB_PASSWORD);必须用全局时统一挂到一个命名空间下globalThis.App{config:{...},utils:{...}};7. 总结对比项浏览器Node.js全局对象windowglobal/globalThisvar声明自动变成全局不会变成全局模块作用域无原生模块每个文件都是独立模块推荐访问方式window/globalThisglobalThis核心记忆点Node.js 中默认没有“随便写就变成全局”的行为真正全局的东西要用global/globalThis显式挂载绝大多数情况下优先用模块导出 require/import而不是依赖全局变量 感谢阅读想了解更多 我的博客网站 | 记录思考分享干货 我的个人主页 | 关于我、开源项目

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号