ActionScript : Généralisation d'une fonction pour augmenter la réutilisabilité


  Share  
|


Vous voulez effectuer de légères variations d'une action sans devoir reproduire les lignes multiples du code pour adapter aux différences mineures.

Ajoutez les paramètres à votre fonction pour la rendre assez flexible pour effectuer des actions légèrement différentes quand elle est appelée plutôt que d'effectuer exactement la même action ou produisant le même résultat chaque fois.

Définissez les paramètres qui expliquent la variabilité dans ce que vous voulez que la fonction fasse :

myParamsFunction de fonction (param1, param2, param3) {la 
moyenne de trace("The est" + (param1 + param2 + param3)/3) ; }

Si vous ne savez pas que le nombre exact de paramètres que la fonction recevra, employez la rangée intégrée d'arguments pour manipuler un nombre variable de paramètres.

Une fonction qui n'accepte pas des paramètres produit généralement le même résultat chaque fois qu'il est appelé. Mais vous devez souvent effectuer presque exactement les mêmes actions qu'une fonction existante, mais avec des variations mineures. Reproduire la fonction entière et puis la fabrication des changements mineurs à la deuxième version est une mauvaise idée dans la plupart des cas. Habituellement, elle rend votre code plus dur pour maintenir et comprendre. D'une manière primordiale, vous constaterez habituellement que vous avez besoin non seulement de deux variations mais de beaucoup de variations de la fonction. Ce peut être un cauchemar pour maintenir cinq ou six variations de ce qui devrait idéalement être enveloppé dans une fonction simple. Le tour doit créer une fonction simple qui peut accepter différentes valeurs pour opérer.

Par exemple, si vous avez une fonction d'average(), vous voulez indiquer des valeurs arbitraires à ramener à une moyenne chaque fois que elle est appelée, au lieu de le faire faire la moyenne toujours des mêmes deux nombres. Vous pouvez accomplir ce but en utilisant des paramètres.

La manière la plus commune de travailler avec des paramètres est de les énumérer dans les parenthèses dans la déclaration de fonction. Les noms de paramètre devraient être séparés par des virgules, et quand vous appelez la fonction que vous devriez lui passer une liste virgule-délimitée d'arguments qui correspondent aux paramètres elle prévoit.

Les termes "paramètres" et "arguments" sont souvent employés l'un pour l'autre pour se rapporter aux variables définies en déclaration de fonction ou valeurs qui sont passées à une fonction quand elle est appelée.

Voici un exemple simple d'une déclaration de fonction en utilisant des paramètres et une invocation de fonction dans lesquels des arguments sont passés pendant l'appel de fonction :

//définissez la fonction tels qu'elle s'attend à des 
deux paramètres : a et moyenne de fonction de b. (a, b) {la 
moyenne de trace("The est" + (a + b)/2) ; }
//quand vous appelez la fonction, lui passent deux
arguments, tels que 6 et 12, que// correspondez au a et/de paramètres
de b/cet appel à l'average() montre : "la moyenne est 9" 
average(6, 12) ;

Les paramètres fonctionnent exactement de la même manière avec les coquilles de fonction qu'ils font avec appelé fonctionne :

moyenne = fonction (a, b) {la moyenne de trace("The est : 
"+ (a + b)/2) ; } ;

Dans la plupart des situations elle est la meilleure pour déclarer les paramètres que la fonction devrait s'attendre. Cependant, il y a quelques scénarios dans lesquels le nombre de paramètres est inconnu. Par exemple, si vous voulez que la fonction d'average() fasse la moyenne de n'importe quel nombre de valeurs, vous pouvez employer la rangée intégrée d'arguments, qui est disponible dans le corps de n'importe quelle fonction. Tous les paramètres qui sont passés à une fonction sont automatiquement placés dans la rangée des arguments de cette fonction.

//là n'est aucun besoin d'indiquer/de paramètres/pour 
accepter quand en utilisant les arguments rangent la moyenne de 
fonction () {résultat de variété = 0 ;
 //boucle par chacun des éléments des arguments rangent//
et ajoutent cette valeur pour résulter pour (variété i = 0 ; 
i < arguments.length ; i++) {résultat + = arguments[i ] ;
}// se divisent alors par tout le nombre d'arguments que la 
moyenne de trace("The est" + result/arguments.length) ; }
//vous pouvez appeler l'average() avec tout nombre
de/de paramètres/dans ce cas-ci, la fonction montrerez : "la 
moyenne est 7.5". moyenne (3, 6, 9, 12) ;

Techniquement, les arguments est un objet avec les propriétés additionnelles au delà de cela d'une rangée de base. Cependant, alors que les arguments est un genre spécial de rangée, vous pouvez encore travailler avec lui des mêmes manières que vous une rangée régulière.

c'est un article supplémentaire par Gabriel Savimbi


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions