¿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.