如何在浏览器中枚举*所有* Javascript 全局变量?

问题描述

我正在寻找一种编程方式来获取浏览器全局变量列表,包括 ArrayObject 等内置构造函数。

如果我在 Chrome 控制台中输入 Javascript,我会得到这个有点奇怪的行为:

console.log('Array' in globalThis);  // true

const s = new Set(function*() { for (const key in globalThis) yield key; }());
console.log(s.has('Array'));  // false

也就是说,我可以检查 Array 构造函数是否在全局对象中,但是当我枚举其成员时,Array 构造函数不存在。

我的问题:

  1. 为什么我的枚举键的方法不起作用?

  2. 是否有程序化和跨浏览器的方式(只有常绿浏览器可以)来枚举通过 globalThis 访问的每个成员?

  3. 如果做不到这一点,是否有特定于浏览器的编程方式来实现这一点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)