[英]List all global variables in Node.js
我正在尝试列出所有全局变量,包括那些引用内置对象的变量。
在Chrome的控制台我可以简单地输入this
并取回所有的钥匙,包括像String
, Number
等
但是,当我在Node.js中执行此操作时,我得到的更少:
> Object.keys(this)
[ 'global',
'process',
'GLOBAL',
'root',
'Buffer',
'setTimeout',
'setInterval',
'clearTimeout',
'clearInterval',
'setImmediate',
'clearImmediate',
'console',
'module',
'require',
'_' ]
> this.eval
[Function: eval]
this.eval
来自哪里?
全局对象的内置属性是不可枚举的,因此Object.keys
不会返回它们。 您可以使用Object.getOwnPropertyNames
。
以下globals()
函数将获取全局命名空间对象:
function globals() { return this; }
有了它,您可以随时列出全局命名空间的所有变量:
function varsList() {
return Object.getOwnPropertyNames(globals());
}
您可以使用Object.getOwnPropertyNames(this)
。如果不将“this”作为引用Object owner属性的参数或参数传递,则getOwnPropertyNames()函数将不返回任何内容。
回答关于评估来自何处的问题,请查看此链接。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.