Changes

Jump to: navigation, search

JavaScript Object Basics

3,212 bytes added, 20:29, 25 April 2007
Creating a Custom JavaScript Object
<pre>
function object(''parameter1, parameter2, parameter3,...'')
{
this.property1 = parameter1;
this.property2 = parameter2;
this.property3 = parameter3;
this.method1 = function1;
this.method2 = function2;
this.method3 = function3;
}
 
In the above outline ''object'' refers to the name of the object - this can be any valid (and hopefully descriptive) name you choose to use. The ''parameters'' define the values that you will pass into the object when you instantiate it later. Each of these parameters is subsequently assigned to the corresponding internal ''properties'' of the object (the ''this'' keyword references the current object). The functions represent the methods of the object and are declared the same way as any other functions and reside outside the object definition.
 
== Creating an Example JavaScript Object ==
 
The best way to learn any technical concept is through an example, and JavaScript Objects are no exception to this rule. In this example we will construct a car object that contains a number of ''properties'' and a method. Lets begin by declaring our object:
 
<pre>
function car (make, model, color)
{
this.make = make;
this.model = model;
this.color = color
this.displayCar = displayCar;
}
</pre>
 
We have now declared a JavaScript object. The next task is to write the displayCar() function:
 
<pre>
 
function displayCar()
{
document.write("Make = " + this.make);
document.write("Model = " + this.model);
document.write("Color = " + this.color)
}
 
</pre>
 
This object is now complete. The next thing we need to do is to learn how to create an instance of the object and access the properties and methods of the object instance.
 
== Creating and using Object Instances ==
 
In the previous section we learned how to create an object definition. It is important to note that, at this point, we have only described what the object will do, we have not actually created an object we can work with (this is known as an ''object instance''). Object instances are created using the ''new'' keywrod and are assigned to an object variable that will be used to reference the object. For example, in the following example we will create anew instance of the car object with the name myCar:
 
<pre>
carObject = new car ("Ford", "Focus", "Red");
</pre>
 
We have also passed through parameters to initialize the properties of the object (make, model and color).
 
Next we need to understand how to call a method on an object and access an object property. This is achieved by using what is called dot noation on the name of the object instance:
 
To access a property:
 
<pre>
objectInstance.propertyName
</pre>
 
To call a method of an object:
 
<pre>
objectInstance.methodName()
</pre>
 
In our example we have a method called displayCar() to the 3 properties of the object. Follwoing the above dot notation syntax we can call this method as follows:
 
<pre>
 
carObject.displayCar()
 
</pre>
 
We can also access a property, for example the color as follows:
 
<pre>
 
document.write ("The make property of myCar is " + myCar.make );
 
</pre>
 
Finally, we can also change one of the properties of an object instance:
 
<pre>
 
myCar.make = "BMW";
 
</pre>

Navigation menu