输出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函数,可打印出所有的对象(包括数组),方便页面调试
本文将详细介绍如何使用`$.each()`来遍历并打印JavaScript对象。 首先,让我们理解`$.each()`函数的基本用法。`$.each()`是jQuery库中的一个迭代函数,它可以用于遍历数组或对象。对于数组,它会按照索引顺序依次...
(一)页面变量对象data 对象data 有两个方面用途 第一,前端wxml的数据渲染是通过设置此对象中定义的变量进行关联展现的 第二,定义JS页面中的页面局部变量,使其整个页面中可使用或调用 对象data定义的变量支持...
#Gamon Devel 在浏览器上打印 js 对象的 javascript 助手 ##选项 var options = { title: 'Gamon Devel', expandAll: false, expandButton: true, showTitle: true, usePre: false }; ##用法 devel...
JS 对象可以自定义,也可以使用 JavaScript 中的标准对象,例如 Date、Array、Math 等,而打印对象则是指在打印输出中使用的对象,例如 `console.log(user)`。 JS 对象的优点是可以自定义,灵活性强,适合用于各种...
4. `jsPrintSetup.print()`是触发打印操作的函数,传入的`printOptions`对象可以包含各种配置项,比如是否打印背景色、边距设置等。 除了基本的打印功能,JsPrint可能还提供了其他高级特性,如预览功能、自定义事件...
在JavaScript(JS)中操作Word进行打印和导出是一项实用的技术,主要应用于Web应用程序与Microsoft Office集成的场景。以下是对这个主题的详细说明: 一、JS调用Word打印 JavaScript可以通过ActiveXObject对象在...
在JavaScript(JS)中直接调用Word文档进行打印主要涉及到Web应用程序与本地文件系统的交互以及浏览器的安全限制。本文将深入探讨这一主题,并提供一些实现这一功能的方法。 首先,理解JavaScript在浏览器环境中的...
"通过调用 JS 打印图片信息"这个主题就是针对这一需求展开的。本文将深入探讨如何利用 JavaScript 实现这一功能,特别是在解决谷歌浏览器首次打印时图片不显示及去除IE浏览器页眉页脚的问题。 首先,我们需要理解为...
在JavaScript编程中,"dump"功能提供了一种类似于"alert"的增强版打印服务,尤其在处理数组和对象时更为方便。"alert"函数通常用于简单地显示字符串信息,但当试图显示复杂的数据结构,如数组或对象时,它的能力就...
在JavaScript中实现对打印页面的定制化设置,如页边距、页眉和页脚的配置,是一项进阶技能,尤其对于需要精确控制打印输出的Web应用而言至关重要。本文将深入探讨如何使用JavaScript来调整打印时的页边距,设置或...
本文将深入解析一种常见的打印JS方法,并通过示例代码来阐述其工作原理与实际应用。 ### 打印JS方法:将页面内容直接打印 在网页开发中,有时我们需要为用户提供一个简单的界面选项,允许他们直接打印当前页面或...
JSON.stringify()方法可以将JavaScript对象转化为JSON格式的字符串,这样也可以在控制台中得到一个固定时刻对象的完整状态。这种方法的好处在于,即便对象非常庞大且属性众多,我们仍然可以将对象的所有信息以字符串...
JavaScript打印插件是一种用于网页打印和预览的技术,它基于JavaScript语言,允许用户在不离开当前页面的情况下进行打印操作。这种技术广泛应用于各种浏览器环境中,包括IE、Firefox和Chrome等主流浏览器,为用户...
JavaScript(简称JS)提供了多种方式来实现网页内容的打印,包括打印整个页面或页面上的特定区域。本知识点主要介绍如何使用JS调用iframe元素来实现页面内容的打印功能。 ### 知识点一:使用iframe实现区域打印 ...
- **嵌入对象**:WebPrint插件以JavaScript对象的形式嵌入HTML代码中,通过调用其方法来启动打印流程。 - **交互接口**:插件与网页之间通过JavaScript API进行通信,API允许开发者控制打印设置和触发打印操作。 ...
标题"jqprint打印js及兼容解决"表明我们将探讨如何使用`jqPrint`进行打印操作,并解决可能出现的JavaScript和jQuery的兼容性问题。 首先,`jqPrint`的主要功能是将选定的HTML元素转换为适合打印的格式。`jquery....
PDF.js是Mozilla开发的一个开源项目,它允许开发者使用纯JavaScript在Web浏览器中渲染PDF文档,无需依赖任何插件。这个Demo展示了如何利用PDF.js库实现PDF在线预览和打印功能,同时还提供了页面缩放和打开本地PDF...
Java 反射机制在对象打印中的应用 Java 反射机制是 Java 语言中的一种强大工具,允许程序在运行时检查和修改对象的行为。下面我们将讨论如何使用 Java 反射机制来打印一个对象的所有属性值。 Java 反射机制的概念 ...