通常如果我们只使用alert(object);它将显示为[object object]。如何在JavaScript中打印对象的所有内容参数?
当前回答
打印可以使用的对象的内容
console.log(obj_str);
你可以在控制台看到结果,如下图所示。
Object {description: "test"}
打开控制台按F12在chrome浏览器,你会发现控制台选项卡在调试模式。
其他回答
您应该考虑使用FireBug进行JavaScript调试。它将允许您交互式地检查所有变量,甚至逐步通过函数。
你可以在你的对象原型中给他们自己的toString方法。
使用dir(对象)。或者你也可以下载Firebug for Firefox(真的很有用)。
除了使用调试器,还可以使用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)也有内置的调试工具,你应该检查一下。
你可以使用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:转换循环结构为JSON