2009-11-19 14 views

risposta

5

Sì, è possibile elaborare una quantità sorprendente di informazioni tramite avviso e si può anche utilizzarlo per il debug.

Ecco anche un print_r equivalent for javascript.

function print_r(theObj){ 
    if(theObj.constructor == Array || 
    theObj.constructor == Object){ 
    document.write("<ul>") 
    for(var p in theObj){ 
     if(theObj[p].constructor == Array|| 
     theObj[p].constructor == Object){ 
document.write("<li>["+p+"] => "+typeof(theObj)+"</li>"); 
     document.write("<ul>") 
     print_r(theObj[p]); 
     document.write("</ul>") 
     } else { 
document.write("<li>["+p+"] => "+theObj[p]+"</li>"); 
     } 
    } 
    document.write("</ul>") 
    } 
} 

buona fortuna con il tuo progetto!

+0

argh ho appena avuto circa la metà di quello scritto. – Shawn

1

può semplicemente utilizzare il seguente:

document.write('<h2>Your Text and or HTML here.</h2>'); 
2

ti consiglierei di ottenere un JSON libreria di analisi come JSON2 per essere in grado di "stringa i" vostri oggetti, allora si può semplicemente:

var myString = JSON.stringify(myObject); 

myString conterrà ora una rappresentazione di stringa di myObject.

Ma se è per scopi di debug, consiglierei di ottenere un debugger JavaScript, come Firebug, si ottengono molte utili funzioni nello Console API.

13

Generalmente creo semplicemente una funzione di registro che consente di modificare il metodo di registrazione. Scrivi enabler/disablers o commenta per scegliere le opzioni.

function log(msg){ 
    if (window.console && console.log) { 
    console.log(msg); //for firebug 
    } 
    document.write(msg); //write to screen 
    $("#logBox").append(msg); //log to container 
} 

Aggiornamento: Informazioni su di Firebug Console API

Aggiornamento: Aggiunto controllo per i browser non Firebug.

0

FireBug è un ottimo strumento! Indispensabile! Ho scoperto che elimina la necessità di scrivere i dati di debug nelle mie pagine e posso visualizzare JSON tutto il giorno.

0

Devo essere in grado di prendere qualsiasi dato JSON e stampare le coppie chiave/valore.

Bene, quindi stampare i dati JSON. JSON è una notazione, non un oggetto. Se hai dati JSON, hai già tutto ciò di cui hai bisogno. Se vuoi che sia un po 'più elegante, potresti aggiungere un interruzione di riga dopo ogni "\s*,.

Se si desidera decostruire un oggetto, non è possibile a meno che non si stia utilizzando JavaScript, poiché ECMAScript non può creare riferimenti ciclici in un singolo oggetto letterale. Se si tratta solo di JavaScript, è possibile utilizzare uneval(object), che utilizzerà variabili definite. (ad esempio ({x:#1={y:#1#}})).

Problemi correlati