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