繁体   English   中英

为什么迭代窗口对象的属性会导致IE错误?

[英]Why does iterating over the properties of the window object causes an error in IE?

我经常遇到这个问题,最后想到这里可能是一个问题。

在IE中运行以下代码,将导致输出frameElement ,这意味着找到了属性frameElement,但是如果尝试通过window["frameElement"]访问它,则会引发错误。

for (var i in window){
    try {
        var c = window[i]
    } catch(e) {
        console.log(i);
    }
}

小提琴

当我尝试简单地访问window的每个属性时,我最初意识到了这个问题,但总是以错误告终。

有人知道原因吗? 怎么可能有一个属性,但是它不可访问?

这可以在任何浏览器上发生。 任何对象(包括Window)上的属性都可以是吸气剂方法,这些方法可能具有副作用,包括抛出异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM