如何在IE9上显示对象的内容

How to show the content of object on IE9

本文关键字:对象 显示 IE9      更新时间:2023-09-26
var obj = {'test1':"value1", "test2": "value2" }
console.log(obj);

重述

[object, Object]

是否可以在IE9上显示不使用JSON.stringify的对象的内容?
像下面这样

{'test1':"value1", "test2": "value2" }

尝试使用 console.dir() 而不是 console.log() - 这也适用于其他浏览器的控制台。

另请参阅 MSDN 文章 Internet Explorer 9 开发人员工具深入探讨 – 第 3 部分:调试 JavaScript。

如果您只想查看复杂对象中的内容而不使用全尺寸库,则可以使用以下代码:

var complexObject = { 
    "first field": "first value", "second": function() {
        alert("hello");
    }, 
    "third": ["I", "am", "an", "array"]
};
var complexObjectString = "";
for (var key in complexObject) {
    complexObjectString += key + ": " + complexObject[key] + "'n";
}
alert(complexObjectString);​

实时测试用例。

在IE9中,您需要处于标准模式才能使用JSON对象;例如,您必须具有doctype。

这不起作用:实时复制 | 源

<html>
<head>
<meta charset=utf-8 />
<title>Test Page</title>
</head>
<body>
<p>Without a doctype</p>
<script>
(function() {
  try {
    var obj = {
      foo: "bar"
    };
    var str = JSON.stringify(obj);
    display("<code>" + str + "</code>");
  }
  catch (e) {
    display("Exception: " + (e.message || e.toString()));
  }
  function display(msg) {
    var p = document.createElement('p');
    p.innerHTML = msg;
    document.body.appendChild(p);
  }
})();
</script>
</body>
</html>

它失败,并显示JSON未定义的错误。

如果添加

<!doctype html>

到顶部,它有效:实时复制 | 来源