1

我经常遇到这个问题,最后认为这可能值得在这里提问。

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

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

小提琴

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

有谁知道这是什么原因?怎么可能,有一个属性,但它是不可访问的?

4

1 回答 1

0

这可能发生在任何浏览器上。任何对象(包括 Window)上的属性都可以是可能具有副作用(包括引发异常)的 getter 方法。

于 2014-06-10T22:00:50.930 回答