2013-10-10 28 views
1

此問題是基於用戶@dandavis在這個問題Javascript: enumerate global vars觀察。當枚舉窗口對象轉義函數不存在

當遍歷window對象時,escape從不輸出。

for (var key in window){ 
    console.log(key); 
    if(key === "escape"){ 
    console.log("This never happens!"); 
    } 
} 

不過,如果我明確地寫在控制檯:如預期

window["escape"] 

功能輸出到屏幕上。

任何人都可以解釋這種異常?

而且,我一直在Chrome 30.0.1599.69在Windows 7

回答

2

測試在Firefox中,至少,「越獄」的window屬性是不可枚舉。

console.dir(Object.getOwnPropertyDescriptor(window, "escape")); 

顯示瀏覽器調試控制檯的描述符。