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;
}
Blog by abdza. Open Source, Computers, Gadgets, Life, Love and everything in between.
Tuesday, April 29, 2008
Inspecting object in javascript
An interesting problem is to inspect unknown objects in javascript. Found a good example of how to do it here. Just to rehash in case the site move:
Subscribe to:
Post Comments (Atom)
Is Blogging No Longer a Thing?
As I embark on my new journey to learn the Rust programming language, I find myself pondering—where have all the blogs gone? In search of pr...
-
My blogs' name is High-Tech Rojak but I don't recall ever talking about food. So here's a first. Just recently I got some free t...
-
Yesterday went to Low Yat to buy my cousin a sub RM 1500 notebook. Of course with that kind of price tag it would have to be a netbook jelah...
-
I have been suffering from sleep apnea for quite a few years already. It started to show when I was still with OSCC some 6 years back when I...
1 comment:
Thanks for the posting. This example worked when all of the other ones I tried failed.
Post a Comment