JavaScript查看对象的内容
448
2013-3-3

JavaScript是基于对象的一个编程语言,输出JavaScript对象的内部结构可以使调试更方便。下面介绍一些查看对象内部结构的方法,可以让你对对象内部的属性与值一目了然。

先来看一下简单的方法:

function dump_obj(myObject) {  
	var s = "";  
	for (var property in myObject) {  
		s = s + "n "+property +": " + myObject[property];  
	}  
  	alert(s);  
}  
var obj = {name:'Gonn', class:'NowaMagic.net'};

下面的方法则比较详细些:

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;  
  	}  
}  

var myObject = {name: "Jack B. Nimble", 'goto': 'Jail', grade: 'A', level: 3};
//alert( dumpObj(myObject) );