Using Objects in ActionScript > Controlling classes or methods with Function object properties > Invoking a function using the Function.call method |  |

Invoking a function using the Function.call method

The `Function.call` method invokes the function represented by a Function object.

In almost all cases, the function call operator (`()`) may be used instead of the `call` method. The function call operator creates code that is concise and readable. The `call` method is primarily useful when the `this` parameter of the function invocation needs to be explicitly controlled. Normally, if a function is invoked as a method of an object, within the body of the function, `this` is set to `myObject`, as in the following:

    myObject.myMethod(1, 2, 3);

In some situations, you may want `this` to point somewhere else; for example, if a function must be invoked as a method of an object but is not actually stored as a method of that object.

    myObject.myMethod.call(myOtherObject, 1, 2, 3);

You can pass the value `null` for the `thisObject` parameter to invoke a function as a regular function and not as a method of an object. For example, the following function invocations are equivalent:

    Math.sin(Math.PI / 4)
    Math.sin.call(null, Math.PI / 4)

For more information, see `Function.call` in the ActionScript Dictionary.

To invoke a function using the Function.call method:

Use the following syntax:

    myFunction.call(thisObject, parameter1, ..., parameterN)

The method takes the following parameters:

| The parameter `thisObject` specifies the value of `this` within the function body.
| The parameters `parameter1`..., `parameterN` specify parameters to be passed to the `myFunction`. You can specify zero or more parameters.