如何显示 JavaScript 对象?

如何以字符串格式显示 JavaScript 对象的内容,就像我们变量一样?alert

我想要显示对象的相同格式方式。


答案 1

使用本机方法。适用于嵌套对象,所有主流浏览器都支持此方法。JSON.stringify

str = JSON.stringify(obj);
str = JSON.stringify(obj, null, 4); // (Optional) beautiful indented output.
console.log(str); // Logs output to dev tools console.
alert(str); // Displays output using window.alert()

链接到 Mozilla API 参考和其他示例。

obj = JSON.parse(str); // Reverses above operation (Just in case if needed.)

使用自定义 JSON.stringify 替换器,如果遇到此 Javascript 错误

"Uncaught TypeError: Converting circular structure to JSON"

答案 2

如果要打印对象以进行调试,请使用以下代码:

var obj = {
  prop1: 'prop1Value',
  prop2: 'prop2Value',
  child: {
    childProp1: 'childProp1Value',
  },
}
console.log(obj)

将显示:

screenshot console chrome

注意:只能记录对象。例如,这将不起作用:

console.log('My object : ' + obj)

注意:您也可以在方法中使用逗号,然后输出的第一行将是字符串,之后,将呈现对象:log

console.log('My object: ', obj);