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); }
相关推荐
weialemon 2020-05-05
doupoo 2020-05-04
Nicolase 2019-12-03
Lightmarec 2019-09-02
dmxtdxwi 2019-07-01
superhosts 2019-06-27
会写code的凳子哥 2012-06-23
会写code的凳子哥 2012-05-22
WFMoonlight 2019-05-27
wqzbxh 2019-01-02
xiaohongyangOK 2018-11-10
azhedashuaibi 2019-01-02
lbcmail 2016-07-22
itkissit 2009-11-16
iamlazyphper 2019-04-11
PHP100 2019-03-28
PHP100 2019-03-28
PHP100 2019-03-28
PHP100 2019-03-28