javascript - 当枚举窗口对象转义函数不存在时

标签 javascript

这个问题是基于用户@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/

相关文章:

javascript - freemarker、java和javascript之间的引用问题

javascript - 我可以在生产中使用 getDisplaymedia 吗?

javascript - 如何在特定像素处停止图像?

javascript - Html 5视频停止事件

javascript - 如何测试纯函数不会用 Jest 从其他源导出

javascript - 如何在html中定期刷新iframe

javascript - 在页面加载 Javascript 上调用函数

javascript - Mongodb 和 MapReduce - 结果丢失

javascript - 相对于其友元元素定位元素

javascript - 力向图中的 d3 箭头