com*_*tta 405 javascript object
通常,如果我们只是使用alert(object);它将显示为[object Object].如何在JavaScript中打印对象的所有内容参数?
Igo*_*mić 699
这将使用缩进的JSON对象为您提供非常好的输出:
alert(JSON.stringify(YOUR_OBJECT_HERE, null, 4));
Run Code Online (Sandbox Code Playgroud)
第二个参数在返回之前改变字符串的内容.第三个参数指定可用作空白的空格数.
Luk*_*man 315
如果您使用的是Firefox,则alert(object.toSource())应该可以进行简单的调试.
Mig*_*ura 73
除了使用调试器之外,您还可以使用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);
Run Code Online (Sandbox Code Playgroud)
使用DOM检查工具是首选,因为它允许您挖掘作为对象本身的属性.Firefox有FireBug,但所有其他主流浏览器(IE,Chrome,Safari)也都有内置的调试工具,你应该检查.
Nik*_* K. 13
打印您可以使用的对象的内容
console.log(obj_str);
Run Code Online (Sandbox Code Playgroud)
你可以在控制台中看到如下结果.
Object {description: "test"}
Run Code Online (Sandbox Code Playgroud)
对于打开控制台,在Chrome浏览器中按F12键,您将在调试模式下找到控制台选项卡.
Mic*_*hal 12
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] }
Run Code Online (Sandbox Code Playgroud)
在那种情况下JSON.stringify抛出异常: TypeError: Converting circular structure to JSON
使用dir(对象).或者你总是可以下载Firebug for Firefox(真的很有帮助).