JavaScript tutorial:
prototype property

 

Applies to: Array Object, Boolean Object, Date Object, Function Object, Number Object, Object Object, String Object

The prototype property is used to get a reference to the prototype for a class of objects.

Syntax

objectname.prototype

The objectname argument is the name of an object.

Return reference

Returns a reference to the prototype for a class of objects.

Example

Use the prototype property to provide a base set of functionality to a class of objects. New instances of an object "inherit" the behavior of the prototype assigned to that object.

For example, say you want to add a method to the Array object that returns the value of the largest element of the array. To do this, declare the function, add it to Array.prototype, and then use it.

function array_max( )
{
var i, max = this[0];
for (i = 1; i < this.length; i++)
{
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
x = new Array(1, 2, 3, 4, 5, 6);
y = x.max( );
document.write(x);
document.write(y);

To run the code above, paste it into JavaScript Editor, and click the Execute button.

After this code is executed, y contains the largest value in the array x, or 6.

All intrinsic JavaScript objects have a prototype property that is read-only. Functionality may be added to the prototype, as in the example, but the object may not be assigned a different prototype. However, user-defined objects may be assigned a new prototype.

The method and property lists for each intrinsic object in this language reference indicate which ones are part of the object's prototype, and which are not.

See also: constructor Property