我想列出所有全局变量,包括那些与内置对象有关的。
在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.getPrototypeOf(this))
和Object.getOwnPropertyNames(this)
(分别用于继承和非枚举属性) - BergiObject.getOwnPropertyNames(this)
做到了,谢谢 @Bergi! - ldmatthis
不是全局对象。 - Bergi