![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
Flash Player 6.
myFunction
.call(thisObject
,parameter1
, ...,parameterN
)
thisObject
Specifies the value of this
within the function body.
parameter1
A parameter to be passed to the myFunction
. You can specify zero or more parameters.
parameterN
Nothing.
Method; invokes the function represented by a Function object. Every function in ActionScript is represented by a Function object, so all functions support this method.
In almost all cases, the function call operator (()
) can be used instead of this method. The function call operator produces code that is concise and readable. This 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)
This example uses Function.call()
to make a function behave as a method of another object, without storing the function in the object.
function MyObject() { } function MyMethod(obj) { trace("this == obj? " + (this == obj)); } var obj = new MyObject(); MyMethod.call(obj, obj);
The trace()
action sends the following code to the Output panel:
this == obj? true
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |