簡體   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