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); } |