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