2009-11-19 67 views

回答

5

是的,您可以通過警報處理驚人數量的信息,也可以將其用於調試。

這裏還有一個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>") 
    } 
} 

祝您的項目順利!

+0

ARGH我剛剛寫了大約一半。 – Shawn 2009-11-19 21:54:46

1

你能簡單地使用下列內容:

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

我會建議你得到像JSON2一個JSON解析庫能夠「字符串」你的對象,那麼你可以簡單:

var myString = JSON.stringify(myObject); 

myString現在將包含myObject的字符串表示形式。

但是,如果是出於調試目的,我會建議您獲得一個JavaScript調試器,如Firebug,您會在Console API中獲得許多有用的功能。

13

我通常只是快速創建一個日誌功能,允許您更改日誌記錄方法。寫入啓用碼/禁用碼或註釋掉以選擇選項。

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 
} 

更新:對於非螢火蟲瀏覽器添加了檢查:對Firebug的Console API

更新信息。

0

FireBug是一個偉大的工具!必不可少!我發現它消除了將調試數據寫入我的頁面的需求,並且我可以整天查看JSON。

0

我需要能夠採取任何JSON 數據和打印鍵/值對。

那麼打印JSON數據。 JSON是一個符號,而不是一個對象。如果你有JSON數據,你已經擁有了你所需要的一切。如果你想讓它變得更加花哨,你可能需要在每個"\s*,之後添加一個換行符。

如果您想解構一個對象,除非您使用JavaScript,否則這是不可能的,因爲ECMAScript無法在單個對象文本中創建循環引用。如果這是僅限於JavaScript,那麼您可以使用uneval(object),這將使用尖銳的變量。 (例如,({x:#1={y:#1#}}))。