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 面向对象继承
Nov 26 Javascript
jQuery拖动图片删除示例
May 10 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
Jan 28 Javascript
一个很有趣3D球状标签云兼容IE8
Aug 22 Javascript
jQuery+HTML5美女瀑布流布局实现方法
Sep 21 Javascript
基于Javascript实现倒计时功能
Feb 22 Javascript
浅析Javascript中bind()方法的使用与实现
Apr 29 Javascript
js创建数组的简单方法
Jul 27 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
Mar 17 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
Dec 27 Javascript
Javascript实现秒表倒计时功能
Nov 17 Javascript
详解VUE单页应用骨架屏方案
Jan 17 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根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
php返回json数据函数实例
2014/10/09 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
HTML页面如何象ASP一样接受参数
2007/02/07 Javascript
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
学习javascript面向对象 掌握创建对象的9种方式
2016/01/04 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
python列表去重的二种方法
2014/02/14 Python
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
Python中标准模块importlib详解
2017/04/16 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
使用Python开发SQLite代理服务器的方法
2018/12/07 Python
幼儿园三八妇女节活动方案
2014/03/11 职场文书
抽样调查项目计划书
2014/04/24 职场文书
中华魂演讲稿
2014/05/13 职场文书
建设单位项目负责人任命书
2014/06/06 职场文书
少年犯观后感
2015/06/11 职场文书
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB
JavaScript的function函数详细介绍
2021/11/20 Javascript
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python