JavaScrip实现PHP print_r的数功能(三种方法)


方法一
复制代码 代码如下:

function print_r(theObj) {
    var retStr = ;
    if (typeof theObj == object) {
        retStr += <div style="font-family:Tahoma; font-size:7pt;">;
        for (var p in theObj) {
            if (typeof theObj[p] == object) {
                retStr += <div><b>[+p+] => + typeof(theObj) + </b></div>;
                retStr += <div style="padding-left:25px;"> + print_r(theObj[p]) + </div>;
            } else {
                retStr += <div>[+p+] => <b> + theObj[p] + </b></div>;
            }
        }
        retStr += </div>;
    }
    return retStr;
}

方法二
复制代码 代码如下:

$(document).ready(function(){
 $(#btn).click(function(){
   var jsonStr = $(#jsonData).val();
   var json = eval((+jsonStr+));
   (function(){
  var print_r = function(o, depth) {
    var result = ;
    depth || (depth=1);
    var indent = new Array(4*depth+1).join( );
    var indentNext = new Array(4*(depth+1)+1).join( );
    var indentNextTwo = new Array(4*(depth+2)+1).join( );
    var tmp = ;
    var type = typeof o;
    switch(type) {
   case string:
   case number:
   case boolean:
   case undefined:
   case function:
     tmp += indent + indentNext + o + "\n";
     break;
   case object:
   default:
     for(var key in o) {
    tmp += indentNextTwo + [ + key + ] = ;
    tmp += print_r(o[key], (depth+1));
     }
    }
    result += type + "\n";
    result += indentNext + ( + "\n";
    result += tmp;
    result += indentNext + ) + "\n";
    return result;
  };
  alert(print_r(json));
   }(json));
 });
});

方法三
复制代码 代码如下:

print_r:function(theObj) {
 var retStr = ;
 if (typeof theObj == object||typeof theObj == array) {
  retStr += <div style="font-family:Tahoma; font-size:7pt;">;
  for (var p in theObj) {
   if (typeof theObj[p] == object || typeof theObj[p] == array) {
    retStr += <div><b>[+p+] => + typeof(theObj) + </b></div>;
    retStr += <div style="padding-left:25px;"> + XFUPLOAD.Tools.print_r(theObj[p]) + </div>;
   } else {
    retStr += <div>[+p+] => <b> + theObj[p] + </b></div>;
   }
  }
  retStr += </div>;
 }
 $("body").append(retStr);
}