Object utility: create, parse and profile : Objects Object Oriented « Language Basics « JavaScript DHTML






Object utility: create, parse and profile

 
 
/*
JavaScript Application Cookbook
By Jerry Bradenbaugh

Publisher: O'Reilly 
Series: Cookbooks
ISBN: 1-56592-577-7
*/ 

<HTML>
<HEAD>
<TITLE>objects.js Example</TITLE>
<STYLE type="text/css">
<!--
td { font-family: courier new; font-size: 14}
-->
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
// objects.js

// This function creates new objects
function makeObj() {
  if (arguments.length % 2 != 0) {
    arguments[arguments.length] = "";
    }
  for ( var i = 0; i < arguments.length; i += 2 ) {
    this[arguments[i]] = arguments[i + 1] ;
     }
  return this;
  }


// This function recursively inspects passed objects
// and stores property information in a string. This string is 
// returned after there are no more object properties to examine
function parseObj(obj) {
  objCount = 0;
  var objStr = '';
    for (prop in obj) {
      objStr += '<TR><TD>Property: </TD><TD><B>' + prop + '</B></TD><TD>Type: </TD><TD><B>' + typeof(obj[prop]) + 
        '</B></TD><TD>Value: </TD><TD><B>'  + obj[prop] + '</B></TD></TR>';
      if (typeof(obj[prop]) == "object") {
        objStr += parseObj(obj[prop]);
        }
      }
  return objStr;
  }

// This function displays object properties accumulated from parseObj() 
function objProfile() {
  var objTable = '<TABLE BORDER=2 CELLSPACING=0><TR><TD><H1>Object Profile</H1></TD></TR>';
  for (var i = 0; i < arguments.length; i++) { 
    objTable += '<TR><TD><BR><BR><H2><TT>' + (i + 1) + ') ' + arguments[i] +  '</H2></TD></TR>';
    objTable += '<TR><TD><TT><TABLE CELLPADDING=5>' + parseObj(eval(arguments[i])) + '</TABLE></TD></TR>';
    }
  objTable += '</TABLE><BR><BR><BR>';
  return objTable;
  }

</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--

function plainOlderObject() {
  this.stuff = 'stuff';
  this.that = 'that';
  this.theOther = 'theOther';
  return this;
  }

function plainOldObject() {
  this.name = 'the object name';
  this.numba = 1000;
  this.objInherit = new makeObj('propertyOne', 'thisProperty', 'propertyTwo', 'thatProperty', 'propertyThree', 'theOtherProperty');
  return this;
  }

var someObject = new plainOldObject();

document.write(objProfile('someObject', 'self.location'));
//-->
</SCRIPT>

</BODY>
</HTML>
           
         
  








Related examples in the same category

1.Define Object, use its instance
2.Define and use object
3. Creating an Object and Using Object Instance Properties and Methods
4. Object-Oriented Planetary Data Presentation
5.The Book Object Definition
6.Complete Example of Using the employee, client, and project Objects
7.Source Code for the showBook() Example
8.Using the Book Object Constructor
9.Creating Objects Dynamically
10.Object to array
11.Utility class for JavaScript class definition
12.Create an object and add attributes
13.Use for in loop to display all attributes from an object
14.Display the properties from an object one by one
15.An object and its constructor
16.Use function as the object constructor