千家信息网

nodejs与浏览器中全局对象区别是什么

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"nodejs与浏览器中全局对象区别是什么",在日常操作中,相信很多人在nodejs与浏览器中全局对象区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2026年10月31日nodejs与浏览器中全局对象区别是什么

这篇文章主要介绍"nodejs与浏览器中全局对象区别是什么",在日常操作中,相信很多人在nodejs与浏览器中全局对象区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"nodejs与浏览器中全局对象区别是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Node.js中,一个.js文件就是一个完整的作用域(module,模块)。因此 var 声明的变量只在当前.js文件中有效,而不是全局有效。 而global全局对象是独立于所有的.js(module,模块)之上的。

而在浏览器中的最顶层全局对象是window,var声明的变量默认绑定到window对象上

1. 全局对象的定义

概念:在程序的任何地方都可以访问的对象,称之为全局对象。对象的属性称为全局变量。

2. NodeJS中的全局变量总结

这里我们总结下在nodejs中,我们常用的全局变量有哪些

2.1 Buffer类

Buffer,我们也可以称为"缓冲区",其功能就是在内存中开辟一片区域,用来存放二进制数据。

2.2 __dirname

__dirname,返回当前模块文件解析过后所在的文件夹(目录)的绝对路径。

请记住,__dirname并不是真正的全局变量。

2.3 __filename

__filename,返回当前模块文件被解析过后的绝对路径。

请记住,__filename并不是真正的全局变量。

2.4 module

请记住,module并不是真正的全局变量。

2.5 require()

请记住,require()并不是真正的全局变量。

2.6 exports

请记住,exports并不是真正的全局变量。

2.7 setImmediate和clearImmediate

2.8 setTimeout和clearTimeout

2.9 setInterval 和 clearInterval

2.10 console

用于打印到标准输出和标准错误

2.11 process

process 对象提供有关当前 Node.js 进程的信息并对其进行控制。

2.12 URL

URL 用于网址处理和解析的实用工具

2.13 events

events模块是Node对"发布/订阅"模式(publish/subscribe)的实现。一个对象通过这个模块,向另一个对象传递消息。该模块通过EventEmitter属性,提供了一个构造函数。

3. globalThis

3.1 globalThis是什么?

JS 语言越来越多被用于各种环境中。除了最常见的浏览器之外,它还可以在服务器、智能手机甚至机器人硬件上运行。

每个环境都有其自己的对象模型,并提供了不同的语法来访问全局对象。例如,在 Web 浏览器中,可以通过window,self或frames访问全局对象。但是,在 Node.js 中,这些属性不存在,而必须使用global。

globalThis旨在通过定义一个标准的全局属性来整合日益分散的访问全局对象的方法。该提案被纳入ES2020标准。所有流行的浏览器,包括Chrome 71+、Firefox 65+和Safari 12.1+,都已经支持这项功能。你也可以在Node.js 12+中来使用它。

内容扩展:

NodeJS - global全局对象

function global() {    // 全局变量。__filename 表示当前正在执行的脚本的文件名。    console.info('__filename: ' + __filename ); // __filename: D:\github\nodejs-test\requestHandlers.js    // 全局变量。__dirname 表示当前执行脚本所在的目录。    console.info('__dirname : ' + __dirname  ); // __dirname : D:\github\nodejs-test    // 全局函数。setTimeout(cb, ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。setTimeout() 只执行一次指定函数。返回一个代表定时器的句柄值。    setTimeout(function () {        console.info('setTimeout: 我只执行一次。');    }, 2000);    // 全局函数。clearTimeout( t ) 全局函数用于停止一个之前通过 setTimeout() 创建的定时器。 参数 t 是通过 setTimeout() 函数创建的定时器。    let t = setTimeout(function () {        console.info('clearTimeout: 我没办法执行了。');    }, 2000);    clearTimeout(t); // 清除定时器    // 全局函数。setInterval(cb, ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。    let tt = setInterval(function () {        console.info('setInterval: 我每2秒执行一次。');    }, 2000);    // 全局函数。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。    setTimeout(function () {        clearInterval(tt); // 清除定时器    }, 5000);    // 全局对象。console    console.info('console: 我也属于global。');    // 全局变量。global 对象的属性。process    console.info('process 当前目录: ' + process.cwd()); // 输出当前目录    console.info('process 当前版本: ' + process.version); // 输出当前版本    console.info('process 平台信息: ' + process.platform); // 输出平台信息}

输出:

__filename: D:\github\nodejs-test\requestHandlers.js__dirname : D:\github\nodejs-testconsole: 我也属于global。process 当前目录: D:\github\nodejs-testprocess 当前版本: v10.15.3process 平台信息: win32setTimeout: 我只执行一次。setInterval: 我每2秒执行一次。setInterval: 我每2秒执行一次。

到此,关于"nodejs与浏览器中全局对象区别是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

全局 对象 函数 变量 浏览器 浏览 模块 文件 定时器 属性 目录 输出 信息 标准 学习 平台 方法 版本 实用 有效 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技 保险科技 互联网保险 深圳互联网科技公司 朗涯互联网科技 电子科技大学互联网 互联网科技公司介绍 青岛中康互联网医疗科技有限公司 科技互联网的估值 银川新华互联网科技职业技术培训学校图片 岳阳华臻互联网科技有限公司 和信科技工业互联网 深圳育鹏互联网科技有限公司招聘 广州新华互联网科技学校电竞方面 广州富喜互联网络科技 美国互联网科技公司 上海创道互联网络科技有限公司 2021世界互联网领先科技成果发布 福建互联网展示科技馆设计 普陀区互联网教育科技管理办法 互联网科技快速发展优美句子 云南咖啡 华服互联网科技怎么样 互联网科技公司起名 互联网金融公司科技 互联网 科技创业 远信互联网科技 四个字互联网科技公司取名 互联网和高科技公司 彤创互联网科技有限公司 互联网时代科技型公司的机会
0