通常,如果我们只是使用alert(object);
它会显示为[object Object]
. 如何在 JavaScript 中打印对象的所有内容参数?
打印 JavaScript 对象的内容?
IT技术
javascript
object
2021-01-28 11:08:32
6个回答
这将为您提供非常好的输出,使用缩进的 JSON 对象JSON.stringify
:
alert(JSON.stringify(YOUR_OBJECT_HERE, null, 4));
第二个参数 ( replacer
) 在返回之前更改字符串的内容。
第三个参数 ( space
) 指定使用多少个空格作为可读性的空格。
JSON.stringify
文档在这里。
如果您使用的是 Firefox,alert(object.toSource())
应该足以满足简单的调试目的。
除了使用调试器,您还可以使用foreach
循环访问对象的所有元素。以下printObject
函数应该alert()
让您的对象显示所有属性和相应的值。
function printObject(o) {
var out = '';
for (var p in o) {
out += p + ': ' + o[p] + '\n';
}
alert(out);
}
// now test it:
var myObject = {'something': 1, 'other thing': 2};
printObject(myObject);
最好使用 DOM 检查工具,因为它允许您挖掘对象本身的属性。Firefox 有 FireBug,但所有其他主要浏览器(IE、Chrome、Safari)也有内置的调试工具,您应该检查一下。
如果您只想拥有对象的字符串表示形式,则可以使用该JSON.stringify
函数,使用JSON 库。
您可以使用 Node 的util.inspect(object)打印出对象的结构。
当您的对象具有循环依赖关系时,它特别有用,例如
$ node
var obj = {
"name" : "John",
"surname" : "Doe"
}
obj.self_ref = obj;
util = require("util");
var obj_str = util.inspect(obj);
console.log(obj_str);
// prints { name: 'John', surname: 'Doe', self_ref: [Circular] }
在这种情况下 JSON.stringify 抛出异常: TypeError: Converting circular structure to JSON
其它你可能感兴趣的问题