Come mostrare l'oggetto completo nella console di Chrome?


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

functor.prop=1;

console.log(functor);

questo mostra solo la parte della funzione del funzione, non può mostrare le proprietà del funzione nella console.

Risposte:


245

Utilizzare console.dir()per generare un oggetto sfogliabile su cui è possibile fare clic anziché la .toString()versione, in questo modo:

console.dir(functor);

Stampa una rappresentazione JavaScript dell'oggetto specificato. Se l'oggetto da registrare è un elemento HTML, vengono stampate le proprietà della sua rappresentazione DOM [1]


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


1
Va notato che basta stampare varNamesulla console di Chrome e premere Invio per ottenere lo stesso effetto di console.dir(varName).
Vadzim,

118

Potresti ottenere risultati migliori se provi:

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

questa risposta è ottima ma penso che non funzioni con l'esempio sopra, provato in una nuova scheda e restituisce indefinito
aitorllj93

1
Con tutto il rispetto per questa risposta, alla fine restituisce una stringa che rappresenta l'oggetto, e non un oggetto "navigabile" nella console, come se la domanda riguardasse qui. È vero, se esegui questa stringa di output tramite JSON.parse, tornerà al suo formato oggetto, ma la console mostrerà comunque un ".toString ()" e torneremo al punto di partenza. La risposta qui con l'uso di "console.dir" è la soluzione migliore per la domanda in corso.
TheCuBeMan

21

Potresti ottenere risultati ancora migliori se provi:

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

Questa risposta migliora su @ BastiBen formattando l'output.
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

Ha funzionato perfettamente per me:

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

è possibile estrarre qualsiasi array creato nella console per trovare / sostituire la pulizia e l'utilizzo posteriore di questi dati estratti


3
un po 'più dettagliato:for (i in arr) { console.log(i); console.log(arr[i]); }
Geo,

non produrrà proprietà e metodi che non sono enumerabili
Barbu Barbu,

0

Ho scritto una funzione per stampare comodamente le cose sulla console.

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

uscirà in console:

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

0

Con i browser moderni, console.log(functor)funziona perfettamente (si comporta come una console.dir).


0

Ho fatto una funzione della risposta Trident D'Gao.

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

Come usarlo

print(obj);

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.