Flash Lite 2 |
|||
| Guide de référence du langage ActionScript Flash Lite 2.x > Classes ActionScript > Function > apply (méthode Function.apply) | |||
Spécifie la valeur thisObject à utiliser dans toute fonction appelée par ActionScript. Cette méthode spécifie également les paramètres à transmettre à toute fonction appelée. Dans la mesure où apply() est une méthode de la classe Function, c'est également une méthode de chaque objet Function dans ActionScript.
Les paramètres sont spécifiés sous forme d'objet Array, contrairement à Function.call() qui spécifie les paramètres en tant que liste délimitée par des virgules. Ceci est souvent utile lorsque le nombre de paramètres à transmettre n'est pas connu avant l'exécution du script.
Renvoie la valeur spécifiée en tant que valeur renvoyée par la fonction appelée.
Disponibilité : ActionScript 1.0 ; Flash Lite 2.0
thisObject:Object - Objet auquel myFunction s'applique.
argArray:Array [facultatif] - Tableau dont les éléments sont transmis à myFunction en tant que paramètres.
Toute valeur spécifiée par la fonction appelée.
Les invocations de fonction suivantes sont équivalentes :
Math.atan2(1, 0) Math.atan2.apply(null, [1, 0])
L'exemple simple suivant illustre la façon dont la méthode apply() transmet un tableau de paramètres :
function theFunction() {
trace(arguments);
}
// Crée un tableau transmis en tant que paramètre à apply()
var firstArray:Array = new Array(1,2,3);
theFunction.apply(null,firstArray);
// Renvoie : 1,2,3
// Crée un deuxième tableau transmis en tant que paramètre à apply()
var secondArray:Array = new Array("a", "b", "c");
theFunction.apply(null,secondArray);
// Renvoie a,b,c
L'exemple suivant illustre la façon dont la méthode apply() transmet un tableau de paramètres et spécifie la valeur this :
// Définition d'une fonction
function theFunction() {
trace("this == myObj? " + (this == myObj));
trace("arguments: " + arguments);
}
// Crée une occurrence d'un objet
var myObj:Object = new Object();
// Crée des tableaux transmis en tant que paramètre à apply()
var firstArray:Array = new Array(1,2,3);
var secondArray:Array = new Array("a", "b", "c");
// apply() permet de définir la valeur de this sur myObj et d'envoyer
// firstArray
theFunction.apply(myObj,firstArray);
// Renvoie :
// this == myObj? true
// arguments : 1,2,3
// apply() permet de définir la valeur de this sur myObj et d'envoyer
// secondArray
theFunction.apply(myObj,secondArray);
// Renvoie :
// this == myObj? true
// arguments : a,b,c