我想枚举所有全局对象。这包括HTMLElement,SVGAnimatedPreserveAspectRatio和CameraControl。我在这个问题上看到的所有答案都让你迭代window
或global
对象(通过命名空间之外的this
等技巧获得)。但是这些技巧不会列出元素,即使它包含在window
中!
这是一些控制台日志,但如果你把它放在测试.html页面中,你会得到相同的结果。
> HTMLElement
[object Function]
> window['HTMLElement']
[object Function]
> 'HTMLElement' in window
true
> for(var name in window){if(name == "HTMLElement")console.log('Found it!');}
undefined
> for(var name in window){if(name == "sessionStorage")console.log('Found it!');}
"Found it!"
如何枚举所有全局对象?
答案 0 :(得分:1)
您可以迭代所有全局对象:
var arr = Object.getOwnPropertyNames(window);
for(var i = 0; i < arr.length; i++){
window[arr[i]]; // do something
}