ActionScript: Generalización de una función para realzar reutilidad


  Share  
|


Usted desea realizar variaciones leves de una acción sin tener que duplicar líneas múltiples del código para acomodar las diferencias de menor importancia.

Agregue los parámetros a su función para hacerla bastante flexible para realizar acciones levemente diversas cuando se invoca más bien que realizando exactamente la misma acción o produciendo el mismo resultado cada vez.

Defina los parámetros que explican la variabilidad en lo que usted quisiera que la función hiciera:

myParamsFunction de la función (param1, param2, param3) 
{el promedio del trace("The es" + (param1 + param2 + param3)/3); 
}

Si usted no sabe que el número exacto de parámetros que la función recibirá, utilice el arsenal incorporado de las discusiones para manejar un número variable de parámetros.

Una función que no acepta parámetros produce generalmente el mismo resultado que se invoca cada vez. Pero usted necesita a menudo realizar casi exactamente las mismas acciones que una función existente, pero con variaciones de menor importancia. Duplicar la función entera y después realizar cambios de menor importancia a la segunda versión es una mala idea en la mayoría de los casos. Generalmente, hace su código más duro mantener y entender. Más importantemente, usted encontrará generalmente que usted necesita no solamente dos variaciones sino muchas variaciones de la función. Puede ser una pesadilla para mantener cinco o seis variaciones de qué se debe envolver idealmente en una sola función. El truco es crear una sola función que pueda aceptar diversos valores para funcionar encendido.

Por ejemplo, si usted tiene una función del average(), usted desea especificar los valores arbitrarios que se harán un promedio cada vez que se invoca, en vez de hacer que siempre haga un promedio de los mismos dos números. Usted puede lograr esta meta usando parámetros.

La manera más común de trabajar con parámetros es enumerarlos dentro de paréntesis en el declaración de la función. Los nombres del parámetro se deben separar por comas, y cuando usted invoca la función que usted debe pasarle una lista coma-delimitada de las discusiones que corresponden a los parámetros espera.

Los términos "parámetros" y "discusiones" se utilizan a menudo alternativamente para referir a las variables definidas en el declaración de la función o los valores que se pasan a una función cuando se invoca.

Aquí está un ejemplo simple de un declaración de la función usando parámetros y una invocación de la función en los cuales las discusiones se pasan durante la llamada de función:

//defina la función tales que cuenta con dos parámetros:
a y promedio de la función del b. (a, b) {el promedio del 
trace("The es" + (a + b)/2); }
//cuando usted invoca la función, le pasa dos 
discusiones, tales como 6 y 12, que// corresponda a la a y// esta de 
los parámetros de b llamada al average() exhibe: "el promedio 
es 9" average(6, 12);

Los parámetros trabajan exactamente de la misma manera con los literales de la función que hacen con nombrado funcionan:

promedio = función (a, b) {el promedio del trace("The es:
"+ (a + b)/2); };

De la mayoría de las situaciones es el mejor declarar los parámetros que la función debe esperar. Sin embargo, hay algunos panoramas en los cuales el número de parámetros es desconocido. Por ejemplo, si usted quisiera que la función del average() hiciera un promedio de cualquier número de valores, usted puede utilizar el arsenal incorporado de las discusiones, que está disponible dentro del cuerpo de cualquier función. Todos los parámetros que se pasan a una función se ponen automáticamente en el arsenal de las discusiones de esa función.

//allí no es ninguna necesidad de especificar// de los 
parámetros para aceptar cuando usa las discusiones pone en orden 
promedio de la función () {resultado del var = 0;
 //lazo con cada uno de los elementos de las discusiones 
pone en orden// y agrega ese valor para resultar para (var i = 0; 
i < arguments.length; i++) {resultado + = arguments[i ]; 
}// entonces se divide por el número total de discusiones que 
es el promedio del trace("The" + result/arguments.length); }
//usted puede invocar el average() con cualquier 
número del// en de los parámetros este caso, la función exhibirá: 
"el promedio es 7.5". promedio (3, 6, 9, 12);

Técnico, las discusiones son un objeto con las características adicionales más allá de el de un arsenal básico. Sin embargo, mientras que las discusiones son una clase especial de arsenal, usted puede todavía trabajar con ella de la misma manera que usted un arsenal regular.

esto es un artículo agregado por Gabriel Savimbi


Share  

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