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


Posted in Javascript onNovember 12, 2013

方法一

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);
}
Javascript 相关文章推荐
日期 时间js控件
May 07 Javascript
JavaScript 面向对象的之私有成员和公开成员
May 04 Javascript
js特效,页面下雪的小例子
Jun 17 Javascript
JavaScript对数字的判断与处理实例分析
Feb 02 Javascript
jQuery替换textarea中换行的方法
Jun 10 Javascript
如何在Angular.JS中接收并下载PDF
Nov 26 Javascript
jQuery中each遍历的三种方法实例分析
Sep 07 jQuery
vue 对象添加或删除成员时无法实时更新的解决方法
May 01 Javascript
Angular实现svg和png图片下载实现
May 05 Javascript
超轻量级的js时间库miment使用解析
Aug 02 Javascript
Vue Element校验validate的实例
Sep 21 Javascript
JavaScript的function函数详细介绍
Nov 20 Javascript
JavaScript中的字符串操作详解
Nov 12 #Javascript
JavaScript简单实现网页回到顶部功能
Nov 12 #Javascript
判定是否原生方法的JS代码
Nov 12 #Javascript
给文字加上着重号的JS代码
Nov 12 #Javascript
深入理解javascript动态插入技术
Nov 12 #Javascript
在ASP.NET中使用JavaScript脚本的方法
Nov 12 #Javascript
JS常用正则表达式总结
Nov 12 #Javascript
You might like
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
深入解析php中的foreach函数
2013/08/31 PHP
php页面缓存方法小结
2015/01/10 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
window.opener用法和用途实例介绍
2013/08/19 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
python实现网站的模拟登录
2016/01/04 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
Django实现将views.py中的数据传递到前端html页面,并展示
2020/03/16 Python
python实现FTP循环上传文件
2020/03/20 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
HTML5 新标签全部总汇(推荐)
2016/06/13 HTML / CSS
毕业生优秀推荐信
2013/11/26 职场文书
校班主任推荐信范文
2013/12/03 职场文书
药学专业学生的自我评价分享
2014/02/06 职场文书
武侯祠导游词
2015/02/04 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
个人原因辞职信模板
2015/05/13 职场文书
运动会三级跳加油稿
2015/07/21 职场文书
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android