Domanda

Come faccio a leggere un oggetto JavaScript quando non so che cosa è in esso?

Ho lavorato su node.js e ho una variabile per la quale io davvero non so cosa c'è dentro. Quando provo sys.puts:

sys.puts(headers) // returns [object Object]

Se ci fosse qualcosa di simile a un print_r in javascript, che sarebbe stato bene.

È stato utile?

Soluzione

La maggior parte dei browser web possono utilizzare il JSON-oggetto per stampare il contenuto di un oggetto,

writeln(JSON.stringify(your_object));

Se non funziona, è possibile creare il proprio stringifier;

var stringify = function(current) {
    if (typeof current != 'object')
        return current;

    var contents = '{';
    for (property in current) {
        contents += property + ": " + stringify(current[property]) + ", ";
    }

    return contents.substring(0, contents.length - 2) + "}";
}

var my_object = {my_string: 'One', another_object: {extra: 'Two'}};
writeln(stringify(my_object));

Altri suggerimenti

È possibile loop su sue proprietà con

for (var item in headers)
{
  // item is the name of the property
  // headers[item] is the value
}

http://www.jsfiddle.net/gaby/CVJry/3/ (console richiede )

Se si desidera limitare i risultati alle proprietà diretta ( non ereditate attraverso la catena di prototipi ) quindi utilizzare anche la hasOwnProperty metodo.

http://www.jsfiddle.net/gaby/CVJry/2/

è possibile scorrere l'oggetto di conoscere le sue proprietà e i loro valori

Supponiamo che il vostro oggetto è

var emp = {
           name:'abc', 
           age:12, 
           designation:'A'
        }

Ora è possibile leggere i dettagli in JS

for(property in emp ){
 alert(emp[property] + " " +property);
}

Se hai piromane in aggiunta nel tuo browser Firefox, aprirlo e scrittura sia nella finestra di JS o JS nella console di Firebug.

console.log(a);

Se avete bisogno solo per controllare cosa c'è in un oggetto (ad esempio, è relativo al sistema per qualche ragione, ma non è necessario che la funzionalità nello script), si può semplicemente utilizzare Firebug per ottenere l'oggetto e verificare esattamente cosa c'è dentro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top