这个问题是基于用户@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"]
函数按预期输出到屏幕。
谁能解释一下这个异常?
此外,我一直在 Windows 7 上的 Chrome 30.0.1599.69 中进行测试。
最佳答案
至少在 Firefox 中,window
的“escape”属性是不可枚举的。
console.dir(Object.getOwnPropertyDescriptor(window, "escape"));
显示来自浏览器调试控制台的描述符。
关于javascript - 当枚举窗口对象转义函数不存在时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19306770/