输出JavaScript对象的内部结构常常做调试用.

一个输出所有对象属性的例子如下:
Javascript代码  
  1. function dump_obj(myObject) {  
  2.   var s = "";  
  3.   for (var property in myObject) {  
  4.    s = s + "\n "+property +": " + myObject[property] ;  
  5.   }  
  6.   alert(s);  
  7. }  


以上代码有些简陋,看个完善些的
Javascript代码  
  1. <script language="javascript">  
  2. var MAX_DUMP_DEPTH = 10;  
  3. function dumpObj(obj, name, indent, depth) {  
  4.   if (depth > MAX_DUMP_DEPTH) {  
  5.     return indent + name + ": <Maximum Depth Reached>\n";  
  6.   }  
  7.   if (typeof obj == "object") {  
  8.     var child = null;  
  9.     var output = indent + name + "\n";  
  10.     indent += "\t";  
  11.     for (var item in obj) {  
  12.       try {  
  13.         child = obj[item];  
  14.       } catch (e) {  
  15.         child = "<Unable to Evaluate>";  
  16.       }  
  17.       if (typeof child == "object") {  
  18.         output += dumpObj(child, item, indent, depth + 1);  
  19.       } else {  
  20.         output += indent + item + ": " + child + "\n";  
  21.       }  
  22.     }  
  23.     return output;  
  24.   } else {  
  25.     return obj;  
  26.   }  
  27. }  
  28. </script>  

 

 

 

 

 

 

 

posted on 2011-12-01 11:36  小炒花生米  阅读(3512)  评论(0)    收藏  举报