如何查看JavaScript虚拟机中根级声明的对象(含Firefox/Node.js/Otto)
查看不同JavaScript环境中根级别声明对象的方法
没问题,我来帮你逐个梳理在Firefox、Node.js和Otto这几个环境里查看根级别声明对象的具体操作:
Firefox浏览器
Firefox浏览器的全局根对象是window,所有在根级别声明的变量、对象都会挂载到这个对象上。你可以这么操作:
- 按下
F12或者右键页面选择「检查」打开开发者工具,切换到「控制台」标签页 - 输入以下命令之一来查看:
- 查看所有可枚举的根级别对象/变量:
Object.keys(window) - 查看所有根级别对象/变量(包括不可枚举的):
Object.getOwnPropertyNames(window) - 直接打印完整的全局对象(可以展开查看详细属性):
console.log(window)
- 查看所有可枚举的根级别对象/变量:
如果是在浏览器的隐私模式或者隔离环境里,根对象的内容可能会略有不同,但核心方法是一致的。
Node.js
Node.js的全局根对象在CommonJS模块环境下是global,在ES模块环境下推荐使用标准的globalThis(兼容所有模块类型)。操作步骤如下:
- 打开终端,输入
node进入REPL交互环境 - 输入以下命令:
- 查看可枚举的全局对象:
Object.keys(global)或者Object.keys(globalThis) - 查看所有全局对象(含不可枚举):
Object.getOwnPropertyNames(global)或者Object.getOwnPropertyNames(globalThis) - 直接打印全局对象详情:
global(回车后会输出所有挂载的属性)
- 查看可枚举的全局对象:
另外,Node.js里还有一些特殊的全局对象(比如process、console),这些也会出现在根级别列表里。
Otto环境
Otto是Go语言实现的JavaScript引擎,它的全局根对象同样是global。在Otto的REPL环境中:
- 启动Otto的交互终端(根据你的安装方式,可能直接输入
otto命令) - 输入以下命令查看根级别对象:
- 列出可枚举的全局对象:
Object.keys(global) - 列出所有全局对象(含不可枚举):
Object.getOwnPropertyNames(global) - 直接打印全局对象:
global
- 列出可枚举的全局对象:
需要注意的是,Otto的标准库相对浏览器和Node.js会精简一些,根级别对象的数量会少很多。
内容的提问来源于stack exchange,提问作者Nulik
相关产品推荐
相关产品推荐

