IE 11 - console.log显示未定义的对象属性

时间:2014-08-28 07:03:22

标签: javascript internet-explorer console.log

这是一个非常简短的例子。我将下面的代码复制并粘贴到文件中,保存并打开它。在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>

nonsense

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

您必须编写自己的递归日志功能,因为浏览器只登录第一级。 默认情况下记录所有内容会导致浏览器的性能和内存过多。 请参阅:recursive log function

答案 2 :(得分:0)

我最近也遇到过这个问题。

问题是我正在处理的页面将兼容模式设置为IE8。

<meta http-equiv="X-UA-Compatible" content="IE=8" >

我相信IE8没有控制台,所以console.log将是未定义的。