You can inspect any JavaScript objects and list them as indented, ordered by levels.It shows you type and property name. If an object property can't be accessed, an error message will be shown.Here the snippets for inspect javascript object.function inspect(obj, maxLevels, level){ var str = '', type, msg; // Start Input Validations // Don't touch, we start iterating at level zero if(level == null) level = 0; // At least you want to show the first level if(maxLevels == null) maxLevels = 1; if(maxLevels < 1) return '<font color="red">Error: Levels number must be > 0</font>'; // We start with a non null object if(obj == null) return '<font color="red">Error: Object <b>NULL</b></font>'; // End Input Validations // Each Iteration must be indented str += '<ul>'; // Start iterations for all objects in obj for(property in obj) { try { // Show "property" and "type property" type = typeof(obj[property]); str += '<li>(' + type + ') ' + property + ( (obj[property]==null)?(': <b>null</b>'):('')) + '</li>'; // We keep iterating if this property is an Object, non null // and we are inside the required number of levels if((type == 'object') && (obj[property] != null) && (level+1 < maxLevels)) str += inspect(obj[property], maxLevels, level+1); } catch(err) { // Is there some properties in obj we can't access? Print it red. if(typeof(err) == 'string') msg = err; else if(err.message) msg = err.message; else if(err.description) msg = err.description; else msg = 'Unknown'; str += '<li><font color="red">(Error) ' + property + ': ' + msg +'</font></li>'; } } // Close indent str += '</ul>'; return str;}Method Call:function inspect(obj [, maxLevels [, level]]) Input Vars * obj: Object to inspect * maxLevels: Optional. Number of levels you will inspect inside the object. Default MaxLevels=1 * level: RESERVED for internal use of the functionReturn ValueHTML formatted string containing all values of inspected object obj.