2009-11-19 49 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#}}))。