这是一个非常简短的例子。我将下面的代码复制并粘贴到文件中,保存并打开它。在Chrome中运行良好,在11中失败。
控制台上的输出是无稽之谈! 这是怎么回事?偶然发现了一些奇怪的错误?
test.b显然不是未定义的,因为JSON解析器和直接对象评估都可以访问它。
此外,在日志函数中切换变量的顺序不会改变test.b未定义。
<!DOCTYPE html>
<html>
<head>
<title>wtf</title>
<script>
var test = {a:1,b:{c:1}}
console.log(test,JSON.stringify(test),test.b);
</script>
</head>
<body>
WTF IE
</body>
</html>
答案 0 :(得分:2)
微软已接受错误报告。
所以答案似乎是,这是一个错误。
答案 1 :(得分:0)
您必须编写自己的递归日志功能,因为浏览器只登录第一级。 默认情况下记录所有内容会导致浏览器的性能和内存过多。 请参阅:recursive log function
答案 2 :(得分:0)
我最近也遇到过这个问题。
问题是我正在处理的页面将兼容模式设置为IE8。
<meta http-equiv="X-UA-Compatible" content="IE=8" >
我相信IE8没有控制台,所以console.log将是未定义的。