จะแสดงวัตถุแบบเต็มในคอนโซล Chrome ได้อย่างไร


155
var functor=function(){
    //test
}

functor.prop=1;

console.log(functor);

นี่แสดงเฉพาะฟังก์ชันส่วนหนึ่งของ functor ไม่สามารถแสดงคุณสมบัติของ functor ในคอนโซลได้

คำตอบ:


245

ใช้console.dir()เพื่อแสดงผลวัตถุที่เรียกดูได้คุณสามารถคลิกผ่านแทนที่จะเป็น.toString()รุ่นได้ดังนี้:

console.dir(functor);

พิมพ์การแสดง JavaScript ของวัตถุที่ระบุ หากวัตถุที่ถูกบันทึกเป็นองค์ประกอบ HTML แล้วคุณสมบัติของการเป็นตัวแทน DOM ของมันจะถูกพิมพ์[1]


[1] https://developers.google.com/web/tools/chrome-devtools/debug/console/console-reference#dir


1
มันควรจะตั้งข้อสังเกตว่าเพียงแค่พิมพ์varNameใน Chrome คอนโซลและกด Enter console.dir(varName)จะช่วยให้ผลเช่นเดียวกับ
Vadzim

118

คุณอาจได้รับผลลัพธ์ที่ดีขึ้นหากคุณลอง:

console.log(JSON.stringify(functor));

คำตอบนี้ดีมาก แต่ฉันคิดว่าใช้ไม่ได้กับตัวอย่างด้านบนลองในแท็บใหม่และส่งคืนโดยไม่ได้กำหนด
aitorllj93

1
ด้วยความเคารพจากคำตอบนี้ในที่สุดมันก็จะส่งกลับสตริงที่แสดงถึงวัตถุและไม่ใช่วัตถุที่ "เรียกดูได้" ในคอนโซลเช่นคำถามเกี่ยวกับที่นี่ จริงถ้าคุณเรียกใช้สตริงเอาต์พุตนี้ผ่าน JSON.parse มันจะกลับสู่รูปแบบของวัตถุ แต่จากนั้นคอนโซลจะยังแสดงเป็น ".toString ()" และเราจะกลับไปที่สี่เหลี่ยมจัตุรัสหนึ่ง คำตอบที่นี่ด้วยการใช้ "console.dir" เป็นแบบที่ดีที่สุดสำหรับคำถามในมือ
TheCuBeMan

21

คุณอาจได้รับผลลัพธ์ที่ดียิ่งขึ้นถ้าคุณลอง:

console.log(JSON.stringify(obj, null, 4));

คำตอบนี้จะปรับปรุงใน @ BastiBen โดยการจัดรูปแบบผลลัพธ์
Xeoncross

12
var gandalf = {
  "real name": "Gandalf",
  "age (est)": 11000,
  "race": "Maia",
  "haveRetirementPlan": true,
  "aliases": [
    "Greyhame",
    "Stormcrow",
    "Mithrandir",
    "Gandalf the Grey",
    "Gandalf the White"
  ]
};
//to console log object, we cannot use console.log("Object gandalf: " + gandalf);
console.log("Object gandalf: ");
//this will show object gandalf ONLY in Google Chrome NOT in IE
console.log(gandalf);
//this will show object gandalf IN ALL BROWSERS!
console.log(JSON.stringify(gandalf));
//this will show object gandalf IN ALL BROWSERS! with beautiful indent
console.log(JSON.stringify(gandalf, null, 4));

8

มันทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน:

for(a in array)console.log(array[a])

คุณสามารถแยกอาเรย์ใด ๆ ที่สร้างขึ้นในคอนโซลเพื่อค้นหา / แทนที่การล้างข้อมูลและการใช้ข้อมูลหลังของข้อมูลนี้


3
รายละเอียดเพิ่มเติมเล็กน้อย:for (i in arr) { console.log(i); console.log(arr[i]); }
Geo

มันจะไม่แสดงคุณสมบัติและเมธอดที่ไม่สามารถนับได้
Barbu Barbu

0

ฉันเขียนฟังก์ชันเพื่อพิมพ์สิ่งต่าง ๆ บนคอนโซลได้อย่างสะดวก

// function for debugging stuff
function print(...x) {
    console.log(JSON.stringify(x,null,4));
}

// how to call it
let obj = { a: 1, b: [2,3] };
print('hello',123,obj);

จะส่งออกในคอนโซล:

[
    "hello",
    123,
    {
        "a": 1,
        "b": [
            2,
            3
        ]
    }
]

0

ด้วยเบราว์เซอร์ที่ทันสมัยใช้console.log(functor)งานได้อย่างสมบูรณ์แบบ (ทำงานเหมือนกันคือ a console.dir)


0

ฉันทำหน้าที่ของคำตอบตรีศูล D'Gao

function print(obj) {
  console.log(JSON.stringify(obj, null, 4));
}

วิธีใช้งาน

print(obj);

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.