国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScrip實現PHP print_r的數功能(三種方法)

2024-05-06 15:54:48
字體:
來源:轉載
供稿:網友
PHP print_r的函數很好用,可以用來打印數組、對象等的結構與數據,可惜JavaScript并沒有原生提供類似的函數。不過我們可以試著自己來實現這個函數,下面提供一些方法與思路

方法一

復制代碼 代碼如下:


function print_r(theObj) {
    var retStr = '';
    if (typeof theObj == 'object') {
        retStr += '<div>';
        for (var p in theObj) {
            if (typeof theObj[p] == 'object') {
                retStr += '<div><b>['+p+'] => ' + typeof(theObj) + '</b></div>';
                retStr += '<div>' + 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>';
  for (var p in theObj) {
   if (typeof theObj[p] == 'object' || typeof theObj[p] == 'array') {
    retStr += '<div><b>['+p+'] => ' + typeof(theObj) + '</b></div>';
    retStr += '<div>' + XFUPLOAD.Tools.print_r(theObj[p]) + '</div>';
   } else {
    retStr += '<div>['+p+'] => <b>' + theObj[p] + '</b></div>';
   }
  }
  retStr += '</div>';
 }
 $("body").append(retStr);
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 霍州市| 茂名市| 姜堰市| 丰都县| 中宁县| 新晃| 蒙山县| 鄄城县| 罗甸县| 昌黎县| 昌图县| 富宁县| 凤凰县| 英吉沙县| 林州市| 寿光市| 荣成市| 阿鲁科尔沁旗| 邢台市| 乌兰县| 鲁山县| 林西县| 丘北县| 永昌县| 杭锦后旗| 韩城市| 苏尼特左旗| 阳谷县| 调兵山市| 靖江市| 鄯善县| 天峨县| 大渡口区| 玛曲县| 阳江市| 无为县| 梅州市| 万年县| 浏阳市| 鹰潭市| 磐安县|