Function.prototype (Property)

The prototype for the Function object that can be used to extend the interface for all Function objects.

Availability:

ECMAScript edition - 2
JavaScript - 1.1
JScript - 1.0
Internet Explorer - 3.02
Netscape - 3.0
Netscape Enterprise Server - 2.0
Opera - 3.0
Property/method value type:Function object
JavaScript syntax:-Function.prototype
-myFunction.constructor.prototype

This is the prototype function object belonging to the global object and from which all Function objects are descended.

The initial value of Function.prototype is the built-in Function prototype object.

The value of the prototype property of a function is used to initialize child objects when that function is used as a constructor.

The following properties are inherited from the Function.prototype:

The following methods are inherited from the Function.prototype:

The following properties are provided by the instances of the Function object:

The example demonstrates how to provide extensions to all instances of this class by adding a function to the prototype object.

Example code:

   <HTML>

   <HEAD>

   </HEAD>

   <BODY>

   <SCRIPT>

   // Define a function that extends the output capabilities of Function objects

   function sourceDump()

   {

      myString = this.toString();

      myArray  = myString.split("{");

      myString = myArray.join("<BR>{<BR>");

      myArray  = myString.split("}");

      myString = myArray.join("<BR>}<BR>");

      return myString;

   }

   

   // Register the new function

   Function.prototype.sourceDump = sourceDump;

   

   // Create a function and test the Function.sourceDump() method

   var myFunction = new Function("arg1, arg2", "return(arg1 * arg2);");

   document.write(myFunction.sourceDump());

   </SCRIPT>

   </BODY>

   </HTML>

See also:Function call, Function object, Function(), Function(), Function.arity, Function.constructor, Function.length, Function.toString(), prototype property

Property attributes:

ReadOnly, DontDelete, DontEnum.

Cross-references:

ECMA 262 edition 2 - section - 15

ECMA 262 edition 2 - section - 15.3.2.1

ECMA 262 edition 2 - section - 15.3.3.1

ECMA 262 edition 2 - section - 15.3.4

ECMA 262 edition 2 - section - 15.3.5.2

ECMA 262 edition 3 - section - 15.3