如何打印出对象内的所有值?

时间:2015-04-25 16:02:55

标签: javascript object

我使用此函数写入对象内的所有值。

<script type="text/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>");
                document.alert(p.typeof(theObj)); 
                print_r(theObj[p]); 
                document.write("</ul>") 
             } else { 
                document.write("<li>["+p+"] => "+theObj[p]+"</li>"); 
                //alert(p+" "+theObj[p]);
             } 
          } 
          document.write("</ul>") 
       } 
    }  </script>

它打印出对象内的值,如

print_r({"total":4,"offset":0});

但是,如果有另一个对象,如何调整打印值,如下所示:

print_r({"total":4,"offset":0,"memberData":{"firstName":"joe","lastName":"smith"}});

1 个答案:

答案 0 :(得分:1)

如果您只需要在屏幕上整齐地输出对象,就可以

function print_r(obj) {
    document.body.innerHTML = '<pre>' + JSON.stringify(obj, null, 4) + '</pre>';
}

FIDDLE