Làm cách nào để hiển thị toàn bộ đối tượng trong bảng điều khiển Chrome?


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

functor.prop=1;

console.log(functor);

cái này chỉ hiển thị phần chức năng của functor, không thể hiển thị các thuộc tính của functor trong console.

Câu trả lời:


245

Sử dụng console.dir()để xuất một đối tượng có thể duyệt mà bạn có thể nhấp qua thay vì .toString()phiên bản, như thế này:

console.dir(functor);

In một đại diện JavaScript của đối tượng được chỉ định. Nếu đối tượng được ghi là một phần tử HTML, thì các thuộc tính của biểu diễn DOM của nó được in [1]


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


1
Cần lưu ý rằng chỉ cần in varNametrong bảng điều khiển Chrome và nhấn Enter sẽ mang lại hiệu quả tương tự console.dir(varName).
Vadzim

118

Bạn có thể nhận được kết quả tốt hơn nếu bạn thử:

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

câu trả lời này rất hay nhưng tôi nghĩ không hoạt động với mẫu ở trên, đã thử trong một tab mới và trả về không xác định
aitorllj93

1
Với tất cả sự tôn trọng với câu trả lời này, cuối cùng, nó trả về một chuỗi đại diện cho đối tượng và không phải là một đối tượng "có thể duyệt" trong bảng điều khiển, giống như câu hỏi là tất cả về đây. Đúng, nếu bạn chạy chuỗi đầu ra này thông qua JSON.parse, nó sẽ trở về định dạng đối tượng của nó, nhưng sau đó bảng điều khiển sẽ vẫn hiển thị "atoString ()" và chúng ta quay lại hình vuông. Câu trả lời ở đây với việc sử dụng "console.dir" là phù hợp nhất cho câu hỏi trong tay.
TheCuBeMan

21

Bạn có thể nhận được kết quả thậm chí tốt hơn nếu bạn thử:

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

Câu trả lời này cải thiện trên @ BastiBen bằng cách định dạng đầu ra.
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

điều này làm việc hoàn hảo cho tôi:

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

bạn có thể trích xuất bất kỳ mảng nào được tạo trong bảng điều khiển để tìm / thay thế việc dọn dẹp và sử dụng dữ liệu sau được trích xuất


3
chi tiết hơn một chút:for (i in arr) { console.log(i); console.log(arr[i]); }
Geo

nó sẽ không xuất ra các thuộc tính và phương thức không thể đếm được
Barbu Barbu

0

Tôi đã viết một chức năng để thuận tiện in mọi thứ lên bàn điều khiển.

// 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);

sẽ xuất ra trong giao diện điều khiển:

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

0

Với các trình duyệt hiện đại, console.log(functor)hoạt động hoàn hảo (hoạt động tương tự là a console.dir).


0

Tôi đã thực hiện một chức năng của câu trả lời Trident D'Gao.

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

Làm thế nào để sử dụng nó

print(obj);

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.