Foros del Web » Programando para Internet » Javascript »

argumento inicializado

Estas en el tema de argumento inicializado en el foro de Javascript en Foros del Web. Hola a todos! En php5 se puede definir una funcion con un argumento inicializado Código PHP: function  socio ( nombre ,  domicilio ,  maxPermitido = ...
  #1 (permalink)  
Antiguo 06/05/2009, 15:48
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
argumento inicializado

Hola a todos!
En php5 se puede definir una funcion con un argumento inicializado
Código PHP:
function socio(nombredomiciliomaxPermitido=10
si al llamarlo no hago uso del 3º parametro puedo llamarlo de esta manera
Código PHP:
socio('Ruben','Lavalle 123'
y dentro de la funcion la variable maxPermitido tiene el valor de 10.
Existe algo similar en js , lo intente asi pero sin exito.
Gracias!!!
  #2 (permalink)  
Antiguo 06/05/2009, 15:58
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: argumento inicializado

no es:

Código php:
Ver original
  1. function socio($nombre, $domicilio, $maxPermitido=10)

??? no estoy seguro, q error te saca?
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 06/05/2009, 23:46
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: argumento inicializado

en javascript no es posible asignar valores predefinidos a los argumentos de una funcion como lo harias en otros lenguajes (php, c). sin embargo, puedes hacer algo similar. por lo general la solucion consiste en asignar un valor u otro en el mismo argumento verificando cada argumento pero dentro del cuerpo de la funcion. es decir, en cada argumento tendrias que hacer algo como
Código javascript:
Ver original
  1. arguments[0] = arguments[0] || "valor predefinido";
  2. arguments[1] = arguments[1] || "valor predefinido";
como funciona? el operador OR devuelve el primer operando solo si este evalua a true. y he aqui un detalle muy importante a tomar en cuenta. supongamos que uno de los argumentos acepta como variable un string vacio, un boolean falso, o un numero 0. el operador OR convierte cada operando a tipo boolean antes de utilizarlos. cualquiera de los valores anteriormente mencionado son convertidos como falso de modo que el operador OR asumira que el argumento entrado no es valido. para solucionar este caso, lo mejor es comprobar si el argumento esta definido o no.
Código javascript:
Ver original
  1. if(arguments[0] == undefined)arguments[0] = "valor predefinido";
  2. if(arguments[1] == undefined)arguments[1] = "valor predefinido";
tendras que decidir cual metodo utilizar para cada argumento de acuerdo a lo que tu consideres un valor valido.
  #4 (permalink)  
Antiguo 07/05/2009, 12:31
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: argumento inicializado

lobo_php: si me olvide de los $$$
zerokilled : si es muy similar gracias lo probe y me funciona!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:36.