# Class Function

- [TopLevel.Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)
  - [TopLevel.Function](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Function.md)

The Function class represent a JavaScript function.

## Property Summary

| Property                                                                                                    | Description                                                                                                   |
| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| [length](#length): [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md)       | The number of named arguments that were specified  when the function was declared.                            |
| [prototype](#prototype): [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md) | An object that defines properties and methods  shared by all objects created with that  constructor function. |

## Constructor Summary

| Constructor                                                                                                        | Description                                                                                                                                                                 |
| ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Function](#functionstring)([String...](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)) | Constructs the function with the specified arguments where the  last argument represents the function body and all preceeding arguments represent  the function parameters. |

## Method Summary

| Method                                                                                                                                                                                                                                                                          | Description                                                                                          |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| [apply](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Function.md#applyobject-array)([Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md), [Array](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Array.md))     | Invokes this function as a method of the specified object  passing the specified Array of arguments. |
| [call](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Function.md#callobject-object)([Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md), [Object...](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)) | Invokes this function as a method of the specified object  passing the specified optional arguments. |
| [toString](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Function.md#tostring)()                                                                                                                                                                               | Returns a String representation of this function object.                                             |

### Methods inherited from class Object

[assign](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#assignobject-object), [create](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#createobject), [create](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#createobject-object), [defineProperties](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#definepropertiesobject-object), [defineProperty](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#definepropertyobject-object-object), [entries](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#entriesobject), [freeze](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#freezeobject), [fromEntries](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#hasownpropertystring), [is](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isobject-object), [isExtensible](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isextensibleobject), [isFrozen](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isfrozenobject), [isPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isprototypeofobject), [isSealed](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#issealedobject), [keys](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#keysobject), [preventExtensions](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#propertyisenumerablestring), [seal](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#sealobject), [setPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#tolocalestring), [toString](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#tostring), [valueOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#valueof), [values](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#valuesobject)

## Property Details

### length

- length: [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md)
  - : The number of named arguments that were specified
    when the function was declared.

***

### prototype

- prototype: [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)
  - : An object that defines properties and methods
    shared by all objects created with that
    constructor function.

***

## Constructor Details

### Function(String...)

- Function(args: [String...](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md))
  - : Constructs the function with the specified arguments where the
    last argument represents the function body and all preceeding arguments represent
    the function parameters.

    **Parameters:**

    - args - one or more Strings where the last argument in the list  represents the function body and all preceeding arguments represent  the function parameters.

***

## Method Details

### apply(Object, Array)

- apply(thisobj: [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md), args: [Array](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Array.md)): [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)
  - : Invokes this function as a method of the specified object
    passing the specified Array of arguments.

    **Parameters:**

    - thisobj - the object to which the function is applied.
    - args - Array of values or an arguments object to be passed  as arguments to the function.

    **Returns:**

    - whatever value is returned by the invocation of the function.

***

### call(Object, Object...)

- call(thisobj: [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md), args: [Object...](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)): [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)
  - : Invokes this function as a method of the specified object
    passing the specified optional arguments.

    **Parameters:**

    - thisobj - the object to which the function is applied.
    - args - an optional list of one or more arguments values  that are passed as arguments  to the function.

    **Returns:**

    - whatever value is returned by the invocation of the function.

***

### toString()

- toString(): [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)
  - : Returns a String representation of this function object.

    **Returns:**

    - a String representation of this function object.

***
