Predefining objects with constructor functions
A constructor function creates an object template. For example, a constructor function to create Rectangle objects might be defined like the following.
function Rectangle(width, height)
{
this.width = width;
this.height = height;
}
The keyword this is used to refer to the parameters passed to the constructor function and can be conceptually thought of as "this object." To create a Rectangle object, call the constructor function with the "new" operator:
var joe = new Rectangle(3,4)
var sally = new Rectangle(5,3);
This code fragment creates two rectangle objects: one named joe, with a width of 3 and a height of 4, and another named sally, with a width of 5 and a height of 3.
Constructor functions create objects belonging to the same class. Every object created by a constructor function is called an instance of that class. The examples above creates a Rectangle class and two instances of it. All of the instances of a class share the same properties, although a particular instance of the class may have additional properties unique to it. For example, if we add the following line:
joe.motto = "ad astra per aspera";
we add a motto property to the Rectangle joe. But the rectangle sally has no motto property.
Initializers for objects and arrays