js控制台顯示[object Object]問題


問題描述:在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);

 

控制台顯示

 

需要先了解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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM