枚举窗口对象时不存在转义函数
When enumerating over window object escape function is not present
这个问题是基于用户@dandavis在这个问题中的观察 Javascript: 枚举全局变量.
循环访问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"));
显示浏览器调试控制台中的描述符。
相关文章:
- 是否有任何函数可以帮助转义 jQuery 选择器中包含的所有元字符?
- 带有Ajax请求的Javascript JSON.parse函数n〃;新行转义字符
- AngularJS和HTML:在onclick函数的变量中转义引号
- javascript(jquery)函数中的转义特殊字符
- 从预防默认函数转义
- 在传递给下一个函数之前转义 Javascript 调用
- 转义函数调用的变量
- JS:转义字符串末尾带有反斜杠的字符串,用于与jQuery函数一起使用
- 枚举窗口对象时不存在转义函数
- JavaScript Alert() 函数中的单引号转义
- 使用Javascript函数进行双引号转义
- 在 PHP 中使用邮件函数时正确转义 JavaScript 文档代码中的特殊字符
- 用于在javascript中转义引号的函数
- 如何在使用Jquery appentTo函数添加html标记时转义反斜杠
- 是否有js函数将xml特殊字符替换为转义序列
- 如何在JavaScript函数中传递带有转义符的字符串
- 反XSS转义函数的Javascript实现
- Java相当于JavaScript的反转义函数
- 在使用URL哈希的XSS攻击中重新定义转义函数
- 使用转义函数会抛出js错误,因为文本中存在特殊字符