| ||||
Basicamente, una funcion es algo que tu usas para hacer algo mas... Con la excepcion que tu puedes hacer ese "algo" un monton de veces sin hacerlo enteramente CADA vez... Por ejemplo: (el ejemplo que te dare es muy ilustrativo, pero no necesariamente aplicable a un programa, solamente para te des una idea) function hacer_huevos_fritos(cantidad_de_huevos) { Sacar huevos del refrigerador; Poner sarten al fuego; Prender fuego; Poner huevos en sarten; Esperar hasta que estan a punto; Quitar del fuego y servir } Suponte que tu vas a repetir ese procedimiento muchas veces... Tu quieres escribir todo eso, cada vez que tu haces huevos??? No. Simplemente llamas la funcion y le dices cuantos huevos van en la "cantidad_de_huevos"... Ahora, aqui va una funcion mas simple. Esa funcion va a multiplicar el numero por 2, eso es todo lo que vamos a hacer... function multiplicar(x) { y = x * 2; alert(y); } Al llamar la funcion, esa funcion lo primero que hace es preguntarse "OK, que numero quieren que yo multiplique por dos? Y entonces lo hace... Finalmente: Lo que va entre parentesis se llama un argumento... :) Espero no haberte ofendido por lo simplista, o haberte aburrido... |
| ||||
abelius: Te agradesco la explicacion, quedo mas que claro el ejemplo y con respecto a lo simplista, no es una ofensa sino una forma practica de entender como trabaja la formula, saludos, Hard. |
| ||||
Las funciones son mi elemento preferido de trabajo en programacion.. Por eso no puedo evitar meter la cuchara en el tema... Una funcion es un tipo de herramienta para obtener un resultado, ese resultado puede ser un resultado numerico, texto o una accion a desarrollar por parte de uno o mas clip. Una funcion puede o no tener argumentos. La funcion trabaja de acuerdo a una llamada por parte de un clip al cual la funcion esta asociada. Ok hasta aqui tenemos varios conceptos que pueden parecer abstractos ..: herramienta, resultado, llamada, argumentos, asociada. Los argumentos de una funcion son los valores q se le pasan a esta, para hacer los calculos y entregar un resultado. Ej.: funcion calculaElMayor(x,y){ if(x>y){return x;} else if(y>x){return y;} else{trace("Los numeros "+ x +" e " + y + " son iguales");} } Los argumentos de esta funcion son x e y, y los valores q estos argumentos adopten seran usados para el calculo, en este caso comparacion y luego se entrega un resultado q sera un numero o un mensaje. Una funcion es una herramienta, debido a q se utilizan para cumplir una, como el nombre lo dice "funcion" y siempre desarrollara la misma funcion o trabajo. Una funcion entrega un resultado luego q ha sido llamada por un clip y este resultado es lo que el clip espera q suceda cada vez que la funcion es llamada. Ej.: funcion dividir(x,y){ return x/y; } En este caso el resultado seria la divicion de x por y. Que será numerico. Se debe decir q hay funciones q no entregan resultados, sino que realizan una accion.. Ej una funcion puede mover un clip, quitarle o darle valor al alpha.. etc. esto seria una accion y no una entrega de resultado. Una funcion es llamada por un clip o la linea de tiempo en la q se encuentra, esto es lo q se denomina llamada de una funcion. Ej.: una llamada de funcion por un clip myClip.dividir(7899,19); Ej.: una llamada de funcion desde la linea de tiempo. dividir(7899,19); Una funcion puede o no estar asociada a un clip. Una funcion asociada a un clip es una funcion q esta dentro de este clip y por lo tanto no puede ser llamada por otro clip sin hacer referencia al primero donde la funcion se encuentra. Una funcion puede no estar asociada a ningun clip y por lo tanto ser llamada por cualquier clip y funcionar como si estuviera dentro de este. Estas fucciones son funciones globales y se declaran en la linea de tiempo principal. Para hacer una llamada a estas funciones se debe anteponer "_root" delante del nombre de la funcion si haces la llamada desde la linea de tiempo de un clip seria asi.: Ej.: _root.dividir(254,2); Espero haber aportado con un poco de luz en esta noche obscura de funciones reveldes.. Ademas con un posteo como este celebro mi posteo numero mil... q mal q mal tiene su significacion... Salu2
__________________ http://www.flotdesign.dk/ Última edición por pulento; 19/09/2004 a las 11:07 |