An Object Lesson In JavaScript - Object Lessons (
Page 2 of 9 )
Before we get into object construction, a
quick primer for all those of you who are new to the weird and wonderful world
of objects.
In JavaScript, a "object constructor" is simply a set of
program statements which perform a specific task - they lay down the basic rules
for an object, specifying what it can and cannot do. A typical object
constructor contains both variables and functions, and serves as the template
from which to spawn specific instances of that object.
Every object
constructed from the template has certain characteristics, or "properties", and
certain pre-defined functions, or "methods". These properties and methods of the
object correspond directly with the variables and functions within the object
definition.
Once an object has been defined, JavaScript allows you to
spawn as many instances of the object as you like. Each of these instances is a
completely independent object, with its own properties and methods, and can thus
be manipulated independently of other objects.
Now, you're probably
wondering whether this is a little redundant, since JavaScript also allows you
to create your own functions and use them wherever required in your code. And
you're correct, to some extent - if you're only planning to spawn a single
object, a function will work just as well.
But there are situations where
you need to spawn more than one instance of an object - for example, multiple
menu trees, multiple image swaps, or multiple ticker tapes (you'll see multiple
Calendar objects a little further down). In such a situation, objects are
preferred, since each instance comes with its own variables and functions, and
thus can be manipulated without affecting other variables within the
program.
Objects also help you keep your code modular - you can define an
object constructor in a separate file, and include that file only in the pages
where you plan to use the object - and simplify code changes, since you only
need to edit a single file to add new functionality to all your spawned
objects.