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 相关文章推荐
JavaScript中URL编码函数代码
Jan 11 Javascript
node.js中的dns.getServers方法使用说明
Dec 08 Javascript
异步JS框架的作用以及实现方法
Oct 29 Javascript
JS简单实现仿百度控制台输出信息效果
Sep 04 Javascript
js实现加载更多功能实例
Oct 27 Javascript
详解Vue整合axios的实例代码
Jun 21 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
Mar 13 Javascript
vue.js编译时给生成的文件增加版本号
Sep 17 Javascript
vue-router两种模式区别及使用注意事项详解
Aug 01 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
Dec 06 Javascript
js实现简单的打印表格
Jan 15 Javascript
Vue实现Layui的集成方法步骤
Apr 10 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
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
PHP版QQ互联OAuth示例代码分享
2015/07/05 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
jQuery find和children方法使用
2011/01/31 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
JS回调函数的应用简单实例
2014/09/17 Javascript
jQuery获取iframe的document对象的方法
2014/10/10 Javascript
JQuery遍历json数组的3种方法
2014/11/08 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
2017/03/07 Javascript
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
vue项目从node8.x升级到12.x后的问题解决
2019/10/25 Javascript
vue+element实现动态加载表单
2020/12/13 Vue.js
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
解决PyCharm import torch包失败的问题
2018/10/13 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
Python 实现一行输入多个数字(用空格隔开)
2020/04/29 Python
通过代码实例了解Python sys模块
2020/09/14 Python
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
医学院校毕业生自荐信范文
2014/01/01 职场文书
2014的自我评价
2014/01/13 职场文书
激励员工的口号
2014/06/16 职场文书
学校教研活动总结
2014/07/02 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
布达拉宫导游词
2015/02/02 职场文书
恋恋笔记本观后感
2015/06/16 职场文书