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 相关文章推荐
Prototype Template对象 学习
Jul 19 Javascript
javascript继承之为什么要继承
Nov 10 Javascript
纯javascript代码实现计算器功能(三种方法)
Sep 07 Javascript
js正则表达式验证邮件地址
Nov 12 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
Jan 04 Javascript
详解AngularJS过滤器的使用
Mar 11 Javascript
JS图片定时翻滚效果实现方法
Jun 21 Javascript
JS 调用微信扫一扫功能
Dec 22 Javascript
js数组去重的hash方法
Dec 22 Javascript
漂亮实用的页面loading(加载)封装代码
Feb 03 Javascript
关于axios返回空对象的问题解决
Apr 04 Javascript
socket io与vue-cli的结合使用的示例代码
Nov 01 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
IIS6的PHP最佳配置方法
2007/03/19 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
学习YUI.Ext 第四天--对话框Dialog的使用
2007/03/10 Javascript
用javascript实现分割提取页面所需内容
2007/05/09 Javascript
JavaScript中的一些定位属性[图解]
2010/07/14 Javascript
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
纯js实现html转pdf的简单实例(推荐)
2017/02/16 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
2018/09/18 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
2018/12/06 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
python局部赋值的规则
2013/03/07 Python
python 内置函数filter
2017/06/01 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
材料采购员岗位职责
2013/12/17 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
土木工程专业推荐信
2014/02/19 职场文书
横店影视城导游词
2015/02/06 职场文书