¿Existe un complemento / aplicación de terceros o alguna forma de realizar el volcado del mapa de objetos en el depurador de scripts para un objeto JavaScript?

Aquí está la situación ... Tengo un método que se llama dos veces, y cada vez que algo es diferente. No estoy seguro de qué es diferente, pero algo lo es. Entonces, si pudiera volcar todas las propiedades de window (o al menos window.document) en un editor de texto, podría comparar el estado entre las dos llamadas con un simple archivo diff. Pensamientos?

91
Jessy Houle 15 abr. 2009 a las 00:35

9 respuestas

La mejor respuesta

Firebug + console.log(myObjectInstance)

61
Darin Dimitrov 14 abr. 2009 a las 20:36
console.log("my object: %o", myObj)

De lo contrario, terminará con una representación de cadena que a veces muestra:

[object Object]

O algo por el estilo.

132
Michał Powaga 27 may. 2012 a las 20:49
function mydump(arr,level) {
    var dumped_text = "";
    if(!level) level = 0;

    var level_padding = "";
    for(var j=0;j<level+1;j++) level_padding += "    ";

    if(typeof(arr) == 'object') {  
        for(var item in arr) {
            var value = arr[item];

            if(typeof(value) == 'object') { 
                dumped_text += level_padding + "'" + item + "' ...\n";
                dumped_text += mydump(value,level+1);
            } else {
                dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
            }
        }
    } else { 
        dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
    }
    return dumped_text;
}
45
Uwe Keim 31 ene. 2012 a las 12:34

Solo usa:

console.dir(object);

Obtendrá una buena representación de objetos cliqueables. Funciona en Chrome y Firefox.

24
Michał Powaga 27 may. 2012 a las 20:50

Si estás en Chrome, Firefox o IE10 +, ¿por qué no extender la consola y usarla?

(function() {
    console.dump = function(object) {
        if (window.JSON && window.JSON.stringify)
            console.log(JSON.stringify(object));
        else
            console.log(object);
    };
})();

Para una solución concisa de navegador cruzado.

42
Nathan Arthur 29 ago. 2017 a las 21:10

En Chrome, haga clic en los 3 puntos y haga clic en Más herramientas y haga clic en desarrollador. En la consola, escriba console.dir (yourObject). Haga clic en este enlace para ver una imagen de ejemplo

0
Roy Selim 9 nov. 2016 a las 13:58

El uso de console.log(object) arrojará su objeto a la consola Javascript, pero eso no siempre es lo que desea. El uso de JSON.stringify(object) devolverá la mayoría de las cosas que se almacenarán en una variable, por ejemplo, para enviarlo a una entrada de área de texto y enviar el contenido al servidor.

4
Sebastian 27 nov. 2017 a las 06:17

Para cromo / cromo

console.log(myObj)

O es equivalente

console.debug(myObj)
12
Michał Powaga 27 may. 2012 a las 20:51

Para una mejor legibilidad, puede convertir el objeto en una cadena json de la siguiente manera:

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

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

7
Aris 26 mar. 2018 a las 14:26