欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js控制台显示[object Object]问题

程序员文章站 2022-06-25 09:02:42
问题描述:在console.log中打印一个json对象时会显示[object Object] //清空控制台输出并将光标显示在第一排 console.clear(); //定义一个json格式的对象 var j = {}; j.name = "小J"; j.sex = true; j.age = ......

问题描述:在console.log中打印一个json对象时会显示[object object]

 

//清空控制台输出并将光标显示在第一排
console.clear();
//定义一个json格式的对象
var j = {};
j.name = "小j";
j.sex = true;
j.age = 19;
//控制台输出
console.log("json对象:"+j);
console.log("json对象:"+json.stringify(j));
console.log(j);
console.log("json对象:%o",j);

 

控制台显示

js控制台显示[object Object]问题

 

需要先了解console对象

console 对象用于 javascript 调试。javascript 原生中默认是没有 console 对象,这是宿主对象(也就是游览器)提供的内置对象。 用于访问调试控制台, 在不同的浏览器里效果可能不同。

console.log()方法可以简单地传递一系列对象,这些对象的字符串表示形式被串联成一个字符串,然后输出到控制台。(以object.prototype.tostring()的方法表示为字符串)

 

正式因为console.log()在输出多个对象的时候会以字符串的形式串联成一个字符串输出,所以会显示为“json对象: [object object]"。

要想正确显示一个json对象可以单独打印,或者利用json.stringify()方法现将要打印的json对象格式化为字符串。

当然console.log()支持字符串替换,所以也可以用字符串替换的方式

%o、%o:输出一个javascript对象,在控制台中可以打开有关对象的更多信息。%后面是对象object的首写字母o