¿Cómo mostrar el objeto completo en la consola de Chrome?


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

functor.prop=1;

console.log(functor);

esto solo muestra la parte funcional del functor, no puede mostrar las propiedades del functor en la consola.

Respuestas:


245

Úselo console.dir()para generar un objeto explorable en el que puede hacer clic en lugar de la .toString()versión, de esta manera:

console.dir(functor);

Imprime una representación de JavaScript del objeto especificado. Si el objeto que se registra es un elemento HTML, se imprimen las propiedades de su representación DOM [1]


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


1
Cabe señalar que solo imprimir varNameen la consola de Chrome y presionar Enter da el mismo efecto que console.dir(varName).
Vadzim

118

Puede obtener mejores resultados si intenta:

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

esta respuesta es excelente, pero creo que no funciona con el ejemplo anterior, probé en una nueva pestaña y devuelve indefinido
aitorllj93

1
Con el debido respeto a esta respuesta, eventualmente devuelve una cadena que representa el objeto, y no un objeto "explorable" en la consola, como si la pregunta se tratara aquí. Es cierto, si ejecuta esta cadena de salida a través de JSON.parse, volverá a su formato de objeto, pero luego la consola aún mostrará un ".toString ()" y volveremos al punto de partida. La respuesta aquí con el uso de "console.dir" es la mejor opción para la pregunta en cuestión.
TheCuBeMan

21

Puede obtener resultados aún mejores si intenta:

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

Esta respuesta mejora en @ BastiBen formateando la salida.
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

Esto funcionó perfectamente para mí:

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

puede extraer cualquier matriz creada en la consola para buscar / reemplazar la limpieza y el uso posterior de estos datos extraídos


3
un poco más detallado:for (i in arr) { console.log(i); console.log(arr[i]); }
Geo

no generará propiedades y métodos que no sean enumerables
Barbu Barbu

0

Escribí una función para imprimir cosas convenientemente en la consola.

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

saldrá en la consola:

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

0

Con los navegadores modernos, console.log(functor)funciona perfectamente (se comporta igual que a console.dir).


0

Hice una función de la respuesta Trident D'Gao.

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

Cómo usarlo

print(obj);

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.