Wie zeige ich ein vollständiges Objekt in der Chrome-Konsole?


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

functor.prop=1;

console.log(functor);

Dies zeigt nur den Funktionsteil des Funktors, nicht die Eigenschaften des Funktors in der Konsole.

Antworten:


245

Verwenden Sie console.dir()diese Option, um ein durchsuchbares Objekt auszugeben, durch das Sie anstelle der .toString()Version klicken können :

console.dir(functor);

Druckt eine JavaScript-Darstellung des angegebenen Objekts. Wenn das zu protokollierende Objekt ein HTML-Element ist, werden die Eigenschaften seiner DOM-Darstellung gedruckt [1].


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


1
Es ist zu beachten, dass nur das Drucken varNamein der Chrome-Konsole und das Drücken der Eingabetaste den gleichen Effekt haben wie console.dir(varName).
Vadzim

118

Sie erhalten möglicherweise bessere Ergebnisse, wenn Sie Folgendes versuchen:

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

Diese Antwort ist großartig, aber ich denke, funktioniert nicht mit dem obigen Beispiel, versucht in einem neuen Tab und gibt undefiniert zurück
aitorllj93

1
Bei allem Respekt vor dieser Antwort wird schließlich eine Zeichenfolge zurückgegeben, die das Objekt darstellt, und kein "durchsuchbares" Objekt in der Konsole, wie es hier bei der Frage der Fall ist. Wenn Sie diese Ausgabezeichenfolge über JSON.parse ausführen, kehrt sie zwar in ihr Objektformat zurück, die Konsole zeigt jedoch weiterhin ".toString ()" an, und wir kehren zum ersten Punkt zurück. Die Antwort hier mit der Verwendung von "console.dir" passt am besten zu der vorliegenden Frage.
TheCuBeMan

21

Sie erhalten möglicherweise noch bessere Ergebnisse, wenn Sie Folgendes versuchen:

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

Diese Antwort verbessert @ BastiBens durch Formatieren der Ausgabe.
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

das hat bei mir perfekt funktioniert:

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

Sie können jedes in der Konsole erstellte Array extrahieren, um die bereinigten Daten zu finden / zu ersetzen und nachträglich zu verwenden


3
etwas detaillierter:for (i in arr) { console.log(i); console.log(arr[i]); }
Geo

Es werden keine Eigenschaften und Methoden ausgegeben, die nicht aufzählbar sind
Barbu Barbu

0

Ich habe eine Funktion geschrieben, um Dinge bequem auf die Konsole zu drucken.

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

wird in der Konsole ausgegeben:

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

0

Funktioniert mit modernen Browsern console.log(functor)einwandfrei (verhält sich genauso wie a console.dir).


0

Ich habe eine Funktion der Trident D'Gao-Antwort gemacht.

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

Wie man es benutzt

print(obj);

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.