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

与显示对象的格式相同。


当前回答

如果要使用alert打印对象,可以执行以下操作:

alert(“myObject是”+myObject.toSource());

它应该以字符串格式打印每个属性及其对应的值。

其他回答

var output = '';
for (var property in object) {
  output += property + ': ' + object[property]+'; ';
}
alert(output);

如果希望以表格格式查看数据,可以使用:

console.table(obj);

如果单击表列,可以对表进行排序。

您还可以选择要显示的列:

console.table(obj, ['firstName', 'lastName']);

您可以在此处找到有关console.table的更多信息

功能:

var print = function(o){
    var str='';

    for(var p in o){
        if(typeof o[p] == 'string'){
            str+= p + ': ' + o[p]+'; </br>';
        }else{
            str+= p + ': { </br>' + print(o[p]) + '}';
        }
    }

    return str;
}

用法:

var myObject = {
    name: 'Wilson Page',
    contact: {
        email: 'wilson@hotmail.com',
        tel: '123456789'
    }  
}

$('body').append( print(myObject) );

例子:

http://jsfiddle.net/WilsonPage/6eqMn/

试试看:

console.log(JSON.stringify(obj))

这将打印对象的字符串版本。因此,您将获得object的内容,而不是[object]作为输出。

要使用Node.js打印带有颜色的完整对象,请执行以下操作:

console.dir(object, {depth: null, colors: true})

颜色当然是可选的,“depth:null”将打印整个对象。

浏览器似乎不支持这些选项。

参考文献:

https://developer.mozilla.org/en-US/docs/Web/API/Console/dir

https://nodejs.org/api/console.html#console_console_dir_obj_options