Think JavaScript is only good for image swaps and flying <div>s?Think again - this article takes an in-depth look at some of theobject-oriented constructs available in JavaScript, and demonstrates howJavaScript objects can substantially speed up code development anddeployment.
Just as you can pass parameters to an object, it's also possible to pass it another object. Consider the following example, which consists of two object constructors - the second one is set up to accept an object as parameter.
<script language="JavaScript">
// Room object
// accepts area (sq. ft.) and colour (walls) as parameters
function Room(area, colour)
{
this.area = area;
this.colour = colour;
}
// House object
// accepts price as parameter
function House(price, room)
{
this.price = price;
this.obj = room;
}
</script>
Here's how you might use it:
<script language="JavaScript">
Kitchen = new Room(500, "white");
DiningRoom = new Room(600, "white");
RedGables = new House(89000, Kitchen);
alert(RedGables.obj.area);
</script>
In this case, the newly-created instance of the Room
object, "Kitchen", is passed to the House object "RedGables". Using a hierarchical structure, it is possible to drill down through the House object to the Room object and obtain the value of a specific object property. This is similar to the manner in which many DOM objects are accessed.