`

打印js对象

阅读更多
输出JavaScript对象的内部结构常常做调试用.

一个输出所有对象属性的例子如下:
Javascript代码 
function dump_obj(myObject) { 
  var s = ""; 
  for (var property in myObject) { 
   s = s + "\n "+property +": " + myObject[property] ; 
  } 
  alert(s); 



以上代码有些简陋,看个完善些的
Javascript代码 
<script language="javascript"> 
var MAX_DUMP_DEPTH = 10; 
function dumpObj(obj, name, indent, depth) { 
  if (depth > MAX_DUMP_DEPTH) { 
    return indent + name + ": <Maximum Depth Reached>\n"; 
  } 
  if (typeof obj == "object") { 
    var child = null; 
    var output = indent + name + "\n"; 
    indent += "\t"; 
    for (var item in obj) { 
      try { 
        child = obj[item]; 
      } catch (e) { 
        child = "<Unable to Evaluate>"; 
      } 
      if (typeof child == "object") { 
        output += dumpObj(child, item, indent, depth + 1); 
      } else { 
        output += indent + item + ": " + child + "\n"; 
      } 
    } 
    return output; 
  } else { 
    return obj; 
  } 

</script> 



/**
* 对象转json
* @param {Object} obj
*/
this.obj2Str=function(o){

   if (o == undefined) {
                    return "";
                }
                var r = [];
                if (typeof o == "string") return "\"" + o.replace(/([\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\"";
                if (typeof o == "object") {
                    if (!o.sort) {
                        for (var i in o)
                            //r.push("\"" + i + "\":" + this.obj2Str(o[i]));
                        if (!!document.all && !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) {
                            r.push("toString:" + o.toString.toString());
                        }
                        r = "{" + r.join() + "}"
                    } else {
                        for (var i = 0; i < o.length; i++)
                            //r.push(this.obj2Str(o[i]))
                        r = "[" + r.join() + "]";
                    }
                    return r;
                }
                return o.toString().replace(/\"\:/g, '":""');
}


/**
* 打印js的对象
* obj 对象
* name 名称
* indent 缩减
* depth 深度
*/
this.dumpObj=function(obj, name, indent, depth) {
  var MAX_DUMP_DEPTH = 3; 
  if (depth > MAX_DUMP_DEPTH) { 
    return indent + name + ": <Maximum Depth Reached>\n"; 
  } 
  if (typeof obj == "object") { 
    var child = null; 
    var output = indent + name + "\n"; 
    indent += "\t"; 
    for (var item in obj) { 
      try { 
        child = obj[item]; 
      } catch (e) { 
        child = "<Unable to Evaluate>"; 
      } 
      if (typeof child == "object") { 
        output += this.dumpObj(child, item, indent, depth + 1); 
      } else { 
        output += indent + item + ": " + child + "\n"; 
      } 
    } 
    return output; 
  } else { 
    return obj; 
  } 
分享到:
评论

相关推荐

    javascript打印函数(所有对象)

    一个javascript函数,可打印出所有的对象(包括数组),方便页面调试

    JQuery each打印JS对象的方法

    本文将详细介绍如何使用`$.each()`来遍历并打印JavaScript对象。 首先,让我们理解`$.each()`函数的基本用法。`$.each()`是jQuery库中的一个迭代函数,它可以用于遍历数组或对象。对于数组,它会按照索引顺序依次...

    gamondevel:在浏览器上打印 javascript 对象的 javascript 助手

    #Gamon Devel 在浏览器上打印 js 对象的 javascript 助手 ##选项 var options = { title: 'Gamon Devel', expandAll: false, expandButton: true, showTitle: true, usePre: false }; ##用法 devel...

    js对象与打印对象分析比较

    JS 对象可以自定义,也可以使用 JavaScript 中的标准对象,例如 Date、Array、Math 等,而打印对象则是指在打印输出中使用的对象,例如 `console.log(user)`。 JS 对象的优点是可以自定义,灵活性强,适合用于各种...

    网页打印控件JS版

    4. `jsPrintSetup.print()`是触发打印操作的函数,传入的`printOptions`对象可以包含各种配置项,比如是否打印背景色、边距设置等。 除了基本的打印功能,JsPrint可能还提供了其他高级特性,如预览功能、自定义事件...

    js操作word打印

    在JavaScript(JS)中操作Word进行打印和导出是一项实用的技术,主要应用于Web应用程序与Microsoft Office集成的场景。以下是对这个主题的详细说明: 一、JS调用Word打印 JavaScript可以通过ActiveXObject对象在...

    通过调用 JS 打印图片信息

    "通过调用 JS 打印图片信息"这个主题就是针对这一需求展开的。本文将深入探讨如何利用 JavaScript 实现这一功能,特别是在解决谷歌浏览器首次打印时图片不显示及去除IE浏览器页眉页脚的问题。 首先,我们需要理解为...

    dump类似alert的功能可以打印数组对象等

    在JavaScript编程中,"dump"功能提供了一种类似于"alert"的增强版打印服务,尤其在处理数组和对象时更为方便。"alert"函数通常用于简单地显示字符串信息,但当试图显示复杂的数据结构,如数组或对象时,它的能力就...

    js打印设置页边距

    在JavaScript中实现对打印页面的定制化设置,如页边距、页眉和页脚的配置,是一项进阶技能,尤其对于需要精确控制打印输出的Web应用而言至关重要。本文将深入探讨如何使用JavaScript来调整打印时的页边距,设置或...

    js直接调用word文档打印word

    在JavaScript(JS)中直接调用Word文档进行打印主要涉及到Web应用程序与本地文件系统的交互以及浏览器的安全限制。本文将深入探讨这一主题,并提供一些实现这一功能的方法。 首先,理解JavaScript在浏览器环境中的...

    打印的JS方法

    本文将深入解析一种常见的打印JS方法,并通过示例代码来阐述其工作原理与实际应用。 ### 打印JS方法:将页面内容直接打印 在网页开发中,有时我们需要为用户提供一个简单的界面选项,允许他们直接打印当前页面或...

    js console.log打印对象时属性缺失的解决方法

    JSON.stringify()方法可以将JavaScript对象转化为JSON格式的字符串,这样也可以在控制台中得到一个固定时刻对象的完整状态。这种方法的好处在于,即便对象非常庞大且属性众多,我们仍然可以将对象的所有信息以字符串...

    js 打印插件

    JavaScript打印插件是一种用于网页打印和预览的技术,它基于JavaScript语言,允许用户在不离开当前页面的情况下进行打印操作。这种技术广泛应用于各种浏览器环境中,包括IE、Firefox和Chrome等主流浏览器,为用户...

    js调用iframe实现打印页面内容的方法

    JavaScript(简称JS)提供了多种方式来实现网页内容的打印,包括打印整个页面或页面上的特定区域。本知识点主要介绍如何使用JS调用iframe元素来实现页面内容的打印功能。 ### 知识点一:使用iframe实现区域打印 ...

    webprint打印插件对象

    - **嵌入对象**:WebPrint插件以JavaScript对象的形式嵌入HTML代码中,通过调用其方法来启动打印流程。 - **交互接口**:插件与网页之间通过JavaScript API进行通信,API允许开发者控制打印设置和触发打印操作。 ...

    pdf.js Demo 纯js实现PDF在线预览及打印

    PDF.js是Mozilla开发的一个开源项目,它允许开发者使用纯JavaScript在Web浏览器中渲染PDF文档,无需依赖任何插件。这个Demo展示了如何利用PDF.js库实现PDF在线预览和打印功能,同时还提供了页面缩放和打开本地PDF...

    应用java反射机制打印一个对象.docx

    Java 反射机制在对象打印中的应用 Java 反射机制是 Java 语言中的一种强大工具,允许程序在运行时检查和修改对象的行为。下面我们将讨论如何使用 Java 反射机制来打印一个对象的所有属性值。 Java 反射机制的概念 ...

    JS 实现web分页打印功能

    本篇将详细介绍如何利用JS的`Window`对象的`print()`方法来实现一个具有强大兼容性的分页打印功能。 首先,`Window.print()`方法是JavaScript中用于调用浏览器内置的打印对话框的函数,用户可以在该对话框中选择...

    javascript常用对象及方法

    javascript常用对象及方法 javascript中有许多常用的对象和方法,了解这些对象和方法可以帮助我们更好地使用javascript。下面我们将详细介绍这些对象和方法。 一、窗口对象Window Window对象是javascript中的顶级...

Global site tag (gtag.js) - Google Analytics