![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
Flash Player 6.
myFunction
.call(thisObject
,parameter1
, ...,parameterN
)
thisObject
Especifica el valor de this
en el cuerpo de la función.
parameter1
Parámetro que se pasa a myFunction
. Puede especificar cero o más parámetros.
parameterN
Ninguno.
Método; invoca la función representada por un objeto Function. Cada función de ActionScript se representa mediante un objeto Function, de modo que todas las funciones admiten este método.
En la mayoría de los casos, puede utilizarse el operador de llamada de función (()
) en lugar de este método. El operador de llamada de función produce código preciso y fácil de leer. Este método es de gran utilidad cuando debe controlarse de forma explícita el parámetro this
de la invocación de la función. Normalmente, si se invoca una función como método de un objeto, this
se establece en myObject
dentro del cuerpo de la función como el caso siguiente:
myObject.myMethod(1, 2, 3);
En algunas situaciones, es posible que desee que this
haga referencia a otro elemento; por ejemplo, si debe invocarse una función como un método de un objeto, pero en realidad no se almacena como método de dicho objeto.
myObject.myMethod.call(myOtherObject, 1, 2, 3);
Puede pasar el valor null
para el parámetro thisObject
para invocar una función como función regular y no como método de un objeto. Por ejemplo, las llamadas de función siguientes son equivalentes:
Math.sin(Math.PI / 4) Math.sin.call(null, Math.PI / 4)
En este ejemplo se utiliza Function.call()
para hacer que una función se comporte como método de otro objeto, sin almacenar la función en el objeto.
function MyObject() { } function MyMethod(obj) { trace("this == obj? " + (this == obj)); } var obj = new MyObject(); MyMethod.call(obj, obj);
La acción trace()
envía el código siguiente al panel Salida:
this == obj? true
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |