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脚本复制网页上的一个表格的不错实现方法
Dec 29 Javascript
js AspxButton的客户端操作
Jun 26 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
Aug 23 Javascript
jQuery源码分析之Callbacks详解
Mar 13 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
May 17 Javascript
Bootstrap选项卡与Masonry插件的完美结合
Jul 06 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
Jul 22 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
Sep 08 Javascript
js select下拉联动 更具级联性!
Apr 17 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
前端天气插件tpwidget使用方法详解
Jun 24 Javascript
antd日期选择器禁止选择当天之前的时间操作
Oct 29 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
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
2020/04/20 PHP
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
BootStrap modal模态弹窗使用小结
2016/10/26 Javascript
简单实现Bootstrap标签页
2020/08/09 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
浅谈angular.copy() 深拷贝
2017/09/14 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
vue下axios拦截器token刷新机制的实例代码
2020/01/17 Javascript
[02:26]DOTA2英雄米拉娜基础教程
2013/11/25 DOTA
python 正则式使用心得
2009/05/07 Python
详解Python中的循环语句的用法
2015/04/09 Python
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
python 自动去除空行的实例
2018/07/24 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
Django 实现外键去除自动添加的后缀‘_id’
2019/11/15 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
2020/02/03 Python
用python写PDF转换器的实现
2020/10/29 Python
css3 利用transform打造走动的2D时钟
2020/10/20 HTML / CSS
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
大学军训通讯稿
2014/01/13 职场文书
环保建议书300字
2014/05/14 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
法人身份证明书
2014/10/08 职场文书
详解MySQL中的主键与事务
2021/05/27 MySQL
用JS实现飞机大战小游戏
2021/06/09 Javascript
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL