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 相关文章推荐
简单常用的幻灯片播放实现代码
Sep 25 Javascript
实例分析javascript中的call()和apply()方法
Nov 28 Javascript
微信企业号开发之微信考勤Cookies的使用
Sep 11 Javascript
实例讲解JS中setTimeout()的用法
Jan 28 Javascript
详解微信小程序Radio选中样式切换
Jul 06 Javascript
react-router v4如何使用history控制路由跳转详解
Jan 09 Javascript
微信小程序自定义多选事件的实现代码
May 17 Javascript
JavaScript如何获取一个元素的样式信息
Jul 29 Javascript
vue中组件通信的八种方式(值得收藏!)
Aug 09 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
Jul 28 Javascript
node.js 如何监视文件变化
Sep 01 Javascript
如何利用JavaScript实现二叉搜索树
Apr 02 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
40年前的这部特摄片恐龙特级克塞号80后的共同回忆
2020/03/08 日漫
PHP 批量更新网页内容实现代码
2010/01/05 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
2015/08/10 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
在小程序中集成redux/immutable/thunk第三方库的方法
2018/08/12 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
python中使用xlrd、xlwt操作excel表格详解
2015/01/29 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
Python实现读取json文件到excel表
2017/11/18 Python
python实现词法分析器
2019/01/31 Python
Python3.5运算符操作实例详解
2019/04/25 Python
Python字符串对象实现原理详解
2019/07/01 Python
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
this关键字的作用
2016/01/30 面试题
大学毕业的自我鉴定
2013/10/08 职场文书
计算机求职自荐信范文
2014/04/19 职场文书
不忘国耻振兴中华演讲稿
2014/05/14 职场文书
师范生免费教育协议书范本
2014/10/09 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
2015年党总支工作总结
2015/05/25 职场文书