在浏览器中的JavaScript中,全局变量存储为window
主机对象的成员。
而且在window
中还有window
的所有属性,它们是浏览器 DOM 的一部分,如果我假设正确的话,其他全局函数和对象也是主机对象或浏览器提供的实现/环境的一部分。
如何遍历window
的成员并尽可能多地过滤掉不仅仅是由代码(如var foo = 1;
)创建的常规全局变量的所有内容?
你为什么不试试:
keys(window);
Object.keys() 方法返回给定对象自己的可枚举属性的数组,其顺序与 for...in 循环(区别在于 for-in 循环也枚举原型链中的属性)。
参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys