F > Function.apply |
Function.apply
Disponibilité
Flash Player 6.
Usage
maFonction.apply(cetObjet,objetArguments)
Paramètres
cetObjet L'objet auquel est appliqué maFonction.
objetArguments Un tableau dont les éléments sont transmis à maFonction en tant que paramètres.
Renvoie
Toute valeur spécifiée par la fonction appelée.
Description
Méthode ; spécifie la valeur de this comme devant être utilisée avec toute fonction appelée par ActionScript. Cette méthode spécifie également les paramètres à transmettre à toute fonction appelée. La méthode apply étant une méthode de l'objet Function, c'est également une méthode de chaque objet de fonction dans ActionScript.
Les paramètres sont spécifiés sous forme d'objet Array. Ceci est souvent utile lorsque le nombre de paramètres à transmettre n'est pas connu avant l'exécution du script.
Exemple
Les invocations de fonction suivantes sont équivalentes :
Math.atan2(1, 0) Math.atan2.apply(null, [1, 0])
Vous pourriez construire une animation Flash contenant des champs de saisie de texte qui permettent à l'utilisateur d'entrer le nom d'une fonction à invoquer, et zéro ou plusieurs paramètres à transmettre à la fonction. Une pression sur un bouton d'appel utiliserait alors la méthode apply pour appeler la fonction spécifiant les paramètres.
Dans cet exemple, l'utilisateur spécifie le nom d'une fonction dans un champ de saisie de texte appelé nomDeFonction. Le nombre de paramètres est spécifié dans un champ de saisie de texte appelé nombreParamètres. Jusqu'à 10 paramètres sont spécifiés dans des champs de texte appelés paramètre1, paramètre2, jusqu'à paramètre10.
on(release) {
callTheFunction();
}
...
function callTheFunction()
{
var laFonction = eval(nomDeFonction.text);
var n = Number(nombreParamètres);
var paramètres = [];
for (var i = 0; i < n; i++) {
paramètres.push(eval("paramètre" + i));
}
laFonction.apply(null, paramètres);
}