⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dumper.js

📁 JsDoc Toolkit 是一个把js描述格式化成文档的工具。开发者只需按JsDoc的规范写好注释就可以很方便导出文档。这个JsDoc是Java版本的
💻 JS
字号:
/** * @class<pre>This is a lightly modified version of Kevin Jones' JavaScriptlibrary Data.Dump. To download the original visit:    <a href="http://openjsan.org/doc/k/ke/kevinj/Data/Dump/">http://openjsan.org/doc/k/ke/kevinj/Data/Dump/</a>AUTHORSThe Data.Dump JavaScript module is written by Kevin Jones (kevinj@cpan.org), based on Data::Dump by Gisle Aas (gisle@aas.no),based on Data::Dumper by Gurusamy Sarathy (gsar@umich.edu).COPYRIGHTCopyright 2007 Kevin Jones. Copyright 1998-2000,2003-2004 Gisle Aas.Copyright 1996-1998 Gurusamy Sarathy.This program is free software; you can redistribute it and/or modifyit under the terms of the Perl Artistic LicenseSee http://www.perl.com/perl/misc/Artistic.html</pre> * @static */Dumper = {	/** @param [...] The objects to dump. */	dump: function () {	    if (arguments.length > 1)	        return this._dump(arguments);	    else if (arguments.length == 1)	        return this._dump(arguments[0]);	    else	        return "()";	},		_dump: function (obj) {		if (typeof obj == 'undefined') return 'undefined';		var out;		if (obj.serialize) { return obj.serialize(); }		var type = this._typeof(obj);		if (obj.circularReference) obj.circularReference++;		switch (type) {			case 'circular':				out = "{ //circularReference\n}";				break;			case 'object':				var pairs = new Array;								for (var prop in obj) {					if (prop != "circularReference" && obj.hasOwnProperty(prop)) { //hide inherited properties						pairs.push(prop + ': ' + this._dump(obj[prop]));					}				}					out = '{' + this._format_list(pairs) + '}';				break;				case 'string':				for (var prop in Dumper.ESC) {					if (Dumper.ESC.hasOwnProperty(prop)) {						obj = obj.replace(prop, Dumper.ESC[prop]);					}				}				// Escape UTF-8 Strings				if (obj.match(/^[\x00-\x7f]*$/)) {					out = '"' + obj.replace(/\"/g, "\\\"").replace(/([\n\r]+)/g, "\\$1") + '"';				}				else {					out = "unescape('"+escape(obj)+"')";				}				break;				case 'array':				var elems = new Array;					for (var i=0; i<obj.length; i++) {					elems.push( this._dump(obj[i]) );				}					out = '[' + this._format_list(elems) + ']';				break;				case 'date':			// firefox returns GMT strings from toUTCString()...			var utc_string = obj.toUTCString().replace(/GMT/,'UTC');				out = 'new Date("' + utc_string + '")';				break;				case 'element':				// DOM element				out = this._dump_dom(obj);				break;						default:					out = obj;		}			out = String(out).replace(/\n/g, '\n    ');		out = out.replace(/\n    (.*)$/,"\n$1");			return out;	},		_format_list: function (list) {		if (!list.length) return '';		var nl = list.toString().length > 60 ? '\n' : ' ';		return nl + list.join(',' + nl) + nl;    },        _typeof: function (obj) {    	if (obj && obj.circularReference && obj.circularReference > 1) return 'circular';		if (Array.prototype.isPrototypeOf(obj)) return 'array';		if (Date.prototype.isPrototypeOf(obj)) return 'date';		if (typeof obj.nodeType != 'undefined') return 'element';		return typeof(obj);	},		_dump_dom: function (obj) {		return '"' + Dumper.nodeTypes[obj.nodeType] + '"';	}};Dumper.ESC = {    "\t": "\\t",    "\n": "\\n",    "\f": "\\f"};Dumper.nodeTypes = {    1: "ELEMENT_NODE",    2: "ATTRIBUTE_NODE",    3: "TEXT_NODE",    4: "CDATA_SECTION_NODE",    5: "ENTITY_REFERENCE_NODE",    6: "ENTITY_NODE",    7: "PROCESSING_INSTRUCTION_NODE",    8: "COMMENT_NODE",    9: "DOCUMENT_NODE",    10: "DOCUMENT_TYPE_NODE",    11: "DOCUMENT_FRAGMENT_NODE",    12: "NOTATION_NODE"};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -