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

Noi*_*she 6 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>
Run Code Online (Sandbox Code Playgroud)

废话

小智 0

你必须编写自己的递归日志函数,因为浏览器只记录第一级。默认情况下记录所有内容会消耗浏览器太多的性能和内存。请参阅:递归日志函数