Comunidad de diseño web y desarrollo en internet online

Duda con function, if y else

Citar            
MensajeEscrito el 28 Oct 2006 03:50 pm
Hola, tengo una duda sobre un tema de funciones:
Si declaramos una funcion y le damos un parametro y este contiene un if y un else:
function estafuncion (parametro){
if (condicion){
realizar accion();
} else {
realizar otra acción();
}
¿los valores que se almacenaría en parámetro para la funcion serían 2 (1 y 2)? Estoy intentando comprender la lógica de esto, creo que podrían almacenarse estos dos valores (uno por el "if" y otro por el "else").
No se si me he explicado con claridad.
Gracias.

Por celentano

Claber

123 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 Oct 2006 04:15 pm
Francamente, no te explicaste con claridad. :crap:

El tema funciona así:

Primero declarás una función usando cualquiera de los dos métodos posibles:

Código :

function nombreFuncion () {


o:

Código :

nombreFuncion = function () {


Ahora, entre paréntesis, ubicás parámetros, que son variables que definís cuando llamás a la función.

Entonces:

Código :

mover = function (distancia:Number, objeto:String) {
_root[objeto]._x += distancia;
}
//
mover (30, "clip_mc");


Bien, lo que hacemos es definir dos variables, un numero y una cadena que vamos a setear cuando llamemos a la función. El resultado, es que el objeto clip_mc se mueve 30 píxeles a la derecha.

Pero vos querías usar condicionales.

Código :

mover = function (distancia:Number, objeto:String, direccion:String) {
if (direccion == "izquierda") {
_root[objeto]._x -= distancia;
} else if (direccion == "derecha") {
_root[objeto]._x += distancia;
}
}
mover (30, "clip_mc", "izquierda");


Obviamente, no es necesario un else if ya que con un else solo alcanza. Lo puse para que se sepa que parametros espero (claro que podría hacerlo con un default en un switch, pero eso sería irse de tema).

Y no olvides declarar que tipo de variables esperás (con los : y el tipo de variable) para recibir una notificación en caso de que algo pase.


Espero que te sirva :wink:

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 28 Oct 2006 07:30 pm
Si, a lo mejor no he sido muy explicito. Te pongo el código completo:

estado1="el valor _alpha del clip contenedor1 es "+contenedor1._alpha;
estado2="el valor _alpha del clip contenedor2 es "+contenedor2._alpha;

function cambiartransparencia(queclip){
if (this["contenedor"+queclip]._alpha==100){
this["contenedor"+queclip]._alpha=50;
} else {
this["contenedor"+queclip]._alpha=100;
}
this["estado"+queclip]="el valor _alpha del clip contenedor"+queclip+" es "+this["contenedor"+queclip]._alpha;
}

visibilidad1.onRelease=function(){
cambiartransparencia(1);
}
visibilidad2.onRelease=function(){
cambiartransparencia(2);
}
Lo que no entiendo es que el parámetro "queclip" pueda tomar valores 1 y 2 para hacer la llamada al clip "contenedor 1" y al clip "contenedor 2".
No sé si ahora me he explicado con claridad.

Por celentano

Claber

123 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Oct 2006 01:09 pm
Bueno, creo que ayer tenía un día un poco espeso. Ya ví de donde salían los parámetros de "queclip",
visibilidad1.onRelease=function(){
cambiartransparencia(1);
}
visibilidad2.onRelease=function(){
cambiartransparencia(2);
lo tenía delante de mis narices y nada. Gracias HernanRivas por tu aclaración... :)

Por celentano

Claber

123 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.