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 相关文章推荐
重定向实现代码
Nov 20 Javascript
jQuery使用手册之一
Mar 24 Javascript
用jquery写的一个万年历(自写)
Jan 20 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
Sep 14 Javascript
微信公众号菜单配置微信小程序实例详解
Mar 31 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
Jun 16 Javascript
浅谈Vue 初始化性能优化
Aug 31 Javascript
layui框架中layer父子页面交互的方法分析
Nov 15 Javascript
基于vue开发的在线付费课程应用过程
Jan 25 Javascript
Webpack中publicPath路径问题详解
May 03 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
Jan 12 Javascript
CocosCreator如何实现划过的位置显示纹理
Apr 14 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
发挥语言的威力--融合PHP与ASP
2006/10/09 PHP
Zend 输出产生XML解析错误
2009/03/03 PHP
php 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
php四种定界符详解
2017/02/16 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
vue实现评论列表功能
2019/10/25 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
Python中用altzone()方法处理时区的教程
2015/05/22 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
浅析Python函数式编程
2018/10/06 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
如何理解python面向对象编程
2020/06/01 Python
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
Noon埃及:埃及在线购物
2019/11/26 全球购物
商场端午节活动方案
2014/01/29 职场文书
业务部主管岗位职责
2014/01/29 职场文书
校园安全演讲稿
2014/05/09 职场文书
法人代表证明书格式
2014/10/01 职场文书
2016大学迎新欢迎词
2015/09/29 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript